Commit Graph

31 Commits

Author SHA1 Message Date
Huw Campbell
10a6003e73 Add Deconvolution layer and update the GAN example to use it
This cuts the runtime by about 70% which is nice, and it's a
better algorithm for it anyway.

I've also refactored the Convolution layer such that there's
only one actual implementation instead of two, and with that
provided a few more instances for 2D and 3D shapes in and out.

Update to the README and mnist show higher levels of composition.
2017-04-06 13:34:43 +10:00
Huw Campbell
e6293b8461 Cleanup imports and move examples to new project 2017-03-20 17:20:33 +11:00
Huw Campbell
60e28aad8e Add more reshape instances 2017-02-08 18:10:35 +11:00
Huw Campbell
d91d2cbf21 Sketch out travis 2017-02-07 20:58:24 +11:00
Huw Campbell
a153aff744 Make the recurrent api like core 2017-02-07 11:15:47 +11:00
Huw Campbell
7d476bf0f6 Semigroup dep for optparse 2017-02-03 21:18:53 +11:00
Huw Campbell
1e461cb07a Make Pad 3D faster.
Using dependent types in the deeper functions and
requiring a Proxy to reach them meant we required
dictionary passing to get the Nats. This made the
pad and crop layers almost 1000 times slower than
they should have been.
2017-02-03 21:05:14 +11:00
Huw Campbell
7af621cbb6 Add c 3d pad and crop functions 2017-02-02 20:27:02 +11:00
Huw Campbell
a23103ee7b Add extra composition 2017-02-01 22:13:20 +11:00
Huw Campbell
e6179ce5a4 Add recurrent tapes 2017-01-28 14:13:00 +11:00
Huw Campbell
bcd1856988 Update LSTM 2017-01-19 18:56:22 +11:00
Huw Campbell
4dc408f39d Add very basic model saving and loading 2017-01-16 10:16:40 +11:00
Huw Campbell
ac0e4b22c8 Remove primes on shape instantiations
Add singletons for Shape and remove hacks on recurrent nets

Add Recurrent Nets
2017-01-14 21:09:07 +11:00
Huw Campbell
424d791a30 Fix silent conversion bug in pooling layer
Add quickcheck against reference implemenations for layer internals

Add skolem layer generators.
2016-12-15 11:21:37 +11:00
Huw Campbell
9df47d5c7e Remove indexed Vector type 2016-12-13 09:51:55 +11:00
Huw Campbell
6417151620 Make Grenade fast
Changes shapes to get rid of the Vector, all data is
now held in contiguous memory.

Add fast c implementations for pooling layers.

Now does mnist on my laptop in 12 minutes.
2016-12-13 08:39:32 +11:00
Huw Campbell
3830e55a7c Add stupidly fast im2col in c 2016-12-12 23:35:00 +11:00
Huw Campbell
bd881faf2b Add some benchmarks 2016-12-12 10:20:40 +11:00
Huw Campbell
670f2d952f Tests 2016-12-08 10:10:14 +11:00
Huw Campbell
b090b5f073 Make things faster 2016-12-08 10:10:14 +11:00
Huw Campbell
d360438fc0 Update hmatrix 2016-12-08 10:10:13 +11:00
Huw Campbell
ae4de42556 Remove phase. It's not needed 2016-12-04 21:27:59 +11:00
Huw Campbell
114dab4103 Separate Gradient calculation from update 2016-12-02 18:22:35 +11:00
Huw Campbell
3e335a0c76 Merge pull request #8 from HuwCampbell/topic/pad-and-crop-layers
Add pad and crop layers, add pad to mnist example
2016-07-07 17:03:24 +10:00
Erik de Castro Lopo
b4df23ef3e Builds warning free with both ghc 7.10 and 8.0 now
Also:

* Upgrade mafia.
* Cabal file: Relax QuickCheck dependency bounds.
2016-07-01 19:29:50 +10:00
Huw Campbell
8b288cca9d Add pad and crop layers, add pad to mnist example 2016-07-01 12:16:50 +10:00
Erik de Castro Lopo
3fda2d072c grenade.cabal: Specify BSD2 to match the LICENSE file 2016-06-28 22:08:45 +10:00
Erik de Castro Lopo
705a53affc grenade.cabal: Tighten up constraints 2016-06-28 21:55:07 +10:00
Huw Campbell
719b3c27ed Replace licence in cabal file 2016-06-28 09:32:16 +10:00
Huw Campbell
923c9f546e Add Phase to network, so dropout acts correctly between train and test 2016-06-27 19:03:48 +10:00
Huw Campbell
08afd74cde Initial commit 2016-06-24 13:20:36 +10:00