Commit Graph

13 Commits

Author SHA1 Message Date
Mike Innes b90b02872f Merge branch 'master' into tb/cuarrays_dnn 2019-09-27 14:58:32 +01:00
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
Mike Innes b60df53ba1 pkg up 2019-09-19 18:33:33 +01:00
Mike Innes cabb81e30b internal rename 2019-09-19 15:53:31 +01:00
Mike Innes c5e56b7e04 move setweights and copy_transpose 2019-09-17 17:22:35 +01:00
Mike Innes b348b20452 cudnn rnns + implicit gradients 2019-09-17 15:41:42 +01:00
Mike Innes fe57215b7e test fillarray gradients 2019-09-17 15:21:03 +01:00
Mike Innes 487000ac31 fix cuda code and tests 2019-08-19 16:56:48 +01:00
Mike Innes 9590aa63e3 rm last uses of param/data 2019-08-19 15:14:42 +01:00
thebhatman ce6a1bf84f Modifying tests in curnn.jl 2019-06-13 18:45:37 +05:30
thebhatman a782524a0e Temporarily removed tests of cudnn and curnn. 2019-06-10 18:29:55 +05:30
Avik Pal 7d06f654f0 Fix tests 2018-09-11 16:58:05 +05:30
Avik Pal f29377123e Add tests for CuDNN BatchNorm 2018-06-22 18:19:18 +05:30