Flux.jl/test
bors[bot] acb6a89245
Merge #865
865: Functor r=MikeInnes a=MikeInnes

This refactors our current `@treelike` infrastructure. It somewhat formalises what we're doing around the idea of a Flux model as a functor, i.e. something that can be mapped over.

This is much more flexible than what we had before, and avoids some issues. It allows layers to have state that isn't mappable; it allows for dispatch when walking the tree, which means layers like `BatchNorm` can have non-trainable parameters; and it also allows for zipped mapping like `fmap(+, xs, ys)`, which isn't implemented yet but will be useful for the new optimisers work.

The main downside is that the term `functor` has been previously used in the Julia community as a malapropism for "thing that behaves like a function"; but hopefully this can start to reduce that usage.

Co-authored-by: Mike Innes <mike.j.innes@gmail.com>
2019-09-24 16:36:10 +00:00
..
cuda Merge #865 2019-09-24 16:36:10 +00:00
layers Merge #865 2019-09-24 16:36:10 +00:00
data.jl add tests for Data.Iris module 2019-03-09 13:02:59 -08:00
onehot.jl fix colon indexing 2019-04-04 19:16:14 +05:30
optimise.jl Merge branch 'master' into zygote 2019-09-06 15:18:58 +01:00
runtests.jl rm gradient checks 2019-09-10 15:35:52 +01:00
utils.jl fix normalisation layer params 2019-09-19 15:33:24 +01:00