Flux.jl/src
2017-06-03 15:52:43 +01:00
..
backend fix stateful in backends 2017-06-02 16:28:31 +01:00
compiler don't return hidden states 2017-06-02 16:22:55 +01:00
dims graph for seqmodel 2017-06-03 15:52:43 +01:00
layers move stateful 2017-06-02 16:02:47 +01:00
data.jl organise training and utils 2017-05-01 12:41:54 +01:00
Flux.jl stateless 2017-06-02 16:11:09 +01:00
model.jl reorganise recurrent stuff 2017-05-04 10:45:44 +01:00
readme.md src docs 2017-05-04 13:17:21 +01:00
training.jl use juno's info function 2017-05-01 15:14:29 +01:00
utils.jl broadcastto 2017-06-02 15:02:30 +01:00

model.jl implements the core Flux API for forward and backward passes.

The compiler folder implements the @net macro and some dataflow manipulation (like loop unrolling). The mxnet and tensorflow folders in backend each describe how to run @net code on those backends. These are the most involved parts of Flux where the magic-y stuff happens, but everything else is pretty straightforward Julia code.

layers is Flux's "standard library" of model parts; layers, activations, cost functions. Most are implemented using @net. control.jl implements Chain and others in pure Julia. shims.jl includes some things like convolutions which don't have "real" implementations yet, but can compile to a backend regardless.

dims implements the mechanisms for typing batch (and other) dimensions. This is basically standalone.

data.jl and utils.jl implement misc utilities.