Commit Graph

51 Commits

Author SHA1 Message Date
Erik de Castro Lopo
5206c95c42 Remove use of RecordWildCards 2020-04-12 06:24:42 +10:00
Erik de Castro Lopo
b70f6a8d19 Grenade.Core.Shape: Fix for ghc 8.8
For version 2.6 of the singletons library (which is version locked to
the GHC version) switched the 'Sing' type from a data family to a
type family.

This commit uses CPP hackery to workaround this change.

Closes: https://github.com/HuwCampbell/grenade/issues/94
2020-01-23 06:48:29 +11:00
Erik de Castro Lopo
fed6eb2c70 Drop support for GHC < 8.0 2020-01-19 14:59:00 +11:00
Erik de Castro Lopo
bf6ddad683 Test.Grenade.Recurrent.Layers.LSTM: Fix compiler warning 2020-01-19 14:59:00 +11:00
Claude Heiland-Allen
84f54dbe9b fix test suite for GHCs 8.2 8.4 8.6 2019-02-19 18:02:56 +11:00
Erik de Castro Lopo
55e6719fcb Make it build with ghc 8.4 2018-09-16 17:46:20 +10:00
Huw Campbell
a5881518bf Optimise Wengert tape for LSTM 2017-12-16 21:22:16 +11:00
Huw Campbell
68199648f4 Remove old functions 2017-12-14 21:29:45 +11:00
Huw Campbell
6e43a16a77 Bump hedgehog and criterion 2017-12-14 16:06:10 +11:00
Huw Campbell
88c18ee7ab Add pad and crop to ad tests 2017-07-13 13:36:00 +10:00
Huw Campbell
2c7249cce9 Relax difference a little 2017-07-11 09:04:43 +10:00
Huw Campbell
831fd8655f Add a few more layer configurations to ultimate test 2017-07-10 19:20:04 +10:00
Huw Campbell
ce519278e8 Bump hedgehog 2017-07-09 19:42:24 +10:00
Huw Campbell
950971997f Pattern match on SNat to remove withKnownNat 2017-04-22 16:59:44 +10:00
Huw Campbell
93a7a7a0c5 Add test files to other-modules in test suite 2017-04-12 15:37:57 +10:00
Huw Campbell
60c263b6e6 Move Network test to Grenade namespace 2017-04-12 12:31:58 +10:00
Huw Campbell
a4fb892c97 Fixup 7.10 build 2017-04-12 12:30:33 +10:00
Huw Campbell
96a6324f78 Add a reshape to the generator 2017-04-12 12:26:49 +10:00
Huw Campbell
8767e836a1 Change the singleton type for shape.
This allows us to more easily get a handle to the parameters of
the shape, while still being pretty easy to cast to a KnownNat.

We can now more easily add to the gradients test, and properly
check the sizes of the head without silly hacks.
2017-04-12 11:59:40 +10:00
Huw Campbell
f9b53792fd Network scale autodiff test 2017-04-11 10:08:08 +10:00
Huw Campbell
ffbbbf222f Move more into the forAll for nicer diffs 2017-04-10 14:45:20 +10:00
Huw Campbell
56686db343 Slightly overkill close to operator 2017-04-10 12:55:05 +10:00
Huw Campbell
6c6e706e66 Use a blinded forAll for proxy like generators.
This is a bit ironic, as the Typable constraint only exists for
7.10 printing in hedgehog, but the 7.10 proxies don't have typeable.
2017-04-10 12:37:45 +10:00
Huw Campbell
f4e1f2899b Add missing file 2017-04-10 12:07:02 +10:00
Huw Campbell
da810e6f4e Move tests to hedgehog. 2017-04-10 09:43:52 +10:00
Huw Campbell
f9c282bc35 Docs 2017-04-07 22:50:28 +10:00
Huw Campbell
e6293b8461 Cleanup imports and move examples to new project 2017-03-20 17:20:33 +11:00
Huw Campbell
145aba4592 Make tests work in 7.10 and 8.0 2017-02-07 16:20:09 +11:00
Huw Campbell
bad6d0effc Fix input backprop 2017-02-07 13:24:12 +11:00
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