https://github.com/fluxml/fluxperimental.jl
Experimental features for Flux.jl
https://github.com/fluxml/fluxperimental.jl
Last synced: 11 months ago
JSON representation
Experimental features for Flux.jl
- Host: GitHub
- URL: https://github.com/fluxml/fluxperimental.jl
- Owner: FluxML
- License: mit
- Created: 2022-11-16T16:12:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-01-05T01:52:11.000Z (over 1 year ago)
- Last Synced: 2025-07-09T01:04:44.809Z (11 months ago)
- Language: Julia
- Size: 78.1 KB
- Stars: 21
- Watchers: 7
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Fluxperimental.jl
[![][action-img]][action-url]
[![][coverage-img]][coverage-url]
[action-img]: https://github.com/FluxML/Fluxperimental.jl/workflows/CI/badge.svg
[action-url]: https://github.com/FluxML/Fluxperimental.jl/actions
[coverage-img]: https://codecov.io/gh/FluxML/Fluxperimental.jl/branch/master/graph/badge.svg
[coverage-url]: https://codecov.io/gh/FluxML/Fluxperimental.jl
This contains experimental features for [Flux.jl](https://github.com/FluxML/Flux.jl).
It needs to be loaded in addition to the main package:
```julia
using Flux, Fluxperimental
```
As an experiment, this repository only has discussion pages, not issues. Actual bugs reports are welcome,
as are comments that you think something is a great idea, or better ways achive the same goal,
or nice examples showing how it works.
Pull requests adding new features are also welcome. Ideally they should have at least some tests.
They should not alter existing functions (i.e. should not commit piracy)
to ensure that loading Fluxperimental won't affect other uses.
Prototypes for new versions of existing features should use a different name.
Features which break or are abandoned will be removed, in a minor (breaking) release.
As will any features which migrate to Flux itself.
## Current Features
There are no formal documentation pages, but these links to the source will show you docstrings
(which are also available at the REPL prompt).
* Layers [`Split` and `Join`](https://github.com/FluxML/Fluxperimental.jl/blob/master/src/split_join.jl)
* More advanced [`train!` function](https://github.com/FluxML/Fluxperimental.jl/blob/master/src/train.jl)
* *Two* macros for making custom layers quickly:
[`@compact(kw...) do ...`](https://github.com/FluxML/Fluxperimental.jl/blob/master/src/compact.jl), and
[`@autostruct function Mine(d) ...`](https://github.com/FluxML/Fluxperimental.jl/blob/master/src/autostruct.jl).
* Experimental [`apply(c::Chain, x)`](https://github.com/FluxML/Fluxperimental.jl/blob/master/src/chain.jl) interface
* Easy way to [use Mooncake.jl](https://github.com/FluxML/Fluxperimental.jl/blob/master/ext/FluxMooncakeExt.jl) instead of Zygote.jl.