Commit Graph

22 Commits

Author SHA1 Message Date
Huw Campbell
c2d48a368c Add tests for Pad and Crop layers 2017-02-03 23:56:47 +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
dbeb962ae6 Fix many warnings 2017-02-03 14:43:07 +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
148c7778ab Simplify Network Type 2017-01-23 12:47:10 +11:00
Huw Campbell
df75beee8d Missing test file 2017-01-19 19:49:13 +11:00
Huw Campbell
bcd1856988 Update LSTM 2017-01-19 18:56:22 +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
88021fbde7 Better testing 2016-12-15 20:04:45 +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
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
1ec65a414f Add stupidly fast col2im 2016-12-13 01:11:18 +11:00
Huw Campbell
3830e55a7c Add stupidly fast im2col in c 2016-12-12 23:35:00 +11:00
Huw Campbell
eb179d071b Add another test 2016-12-08 21:11:50 +11:00
Huw Campbell
24289dba41 Add faster maxIndex and maxElement for matrices 2016-12-08 21:07:18 +11:00
Huw Campbell
2433e1fba2 Remove old functions 2016-12-08 10:10:14 +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
ca4b0fe912 Purity is the best option
I had a basic monadic interface on, thinking that it might be nice
to use for dropout and the like.

In retrospect I think that was too heavy. Being a purely functional
heterogeneous list, substituting layers is easy, so it one wants to
do that using MonadRandom it can still be done.
2016-12-02 23:44:29 +11:00
Huw Campbell
cd4598bee8 Remove Typeable, fix tests 2016-12-02 19:14:37 +11:00
Huw Campbell
08afd74cde Initial commit 2016-06-24 13:20:36 +10:00