Commit Graph

53 Commits

Author SHA1 Message Date
Erik de Castro Lopo
2b5dc8330f Bump upper bounds of dependencies 2020-01-18 21:40:47 +11:00
Erik de Castro Lopo
045640f2bc grenade.cabal: Add upper bound for typelits-witnesses 2020-01-18 21:40:47 +11:00
Erik de Castro Lopo
f729b291e4 grenade.cabal: Bump upper bound on criterion 2019-02-19 18:02:56 +11:00
Claude Heiland-Allen
6c39f41e1d default extensions needs cabal verison 1.10 needs default language 2019-02-19 18:02:56 +11:00
Claude Heiland-Allen
8d5ef502be support GHC 7.10
- no `Data.Kind` module in this old GHC, so use CPP for conditional include
- also use CPP to define `Type=*` for backward compatibility
2019-02-19 18:02:56 +11:00
Claude Heiland-Allen
49a4280a91 GHC 8.4 compatibility
- `-XNoStarIsType` is new in GHC 8.6
- can't use `-XCPP` to conditionally enable `LANGUAGE` pragmas (implicit module declaration)
- use a conditional in the .cabal file, but this is active for all modules
- need to replace all `*` with `Type` and `import Data.Kind (Type)` (works in 8.4)
2019-02-19 18:02:56 +11:00
Claude Heiland-Allen
251a398a99 allow newer hmatrix 2019-02-19 18:02:56 +11:00
Claude Heiland-Allen
fdc3de513d allow newer containers 2019-02-19 18:02:56 +11:00
Erik de Castro Lopo
efd11f7960 grenade.cabal: Allow building with ghc 8.4
* Drop repeated and potentially conflicting version constraints. Version
  constraints really only need to be specified once in the cabal file
  (especially when building with mafia).
* Drop the version constraint on singletons. The singletons package
  version number is tightly coupled to the GHC version (due to TH)
  so its safe to leave the version bounds unspecified.
2018-09-16 17:46:20 +10:00
Manuel Schneckenreither
8aee2ad092 added the sinusoid activation function layer 2018-01-26 10:52:41 +01:00
Huw Campbell
cb2eb0db8f Only permit exact hotmaps 2018-01-04 15:59:55 +11:00
Huw Campbell
6e43a16a77 Bump hedgehog and criterion 2017-12-14 16:06:10 +11:00
Erik de Castro Lopo
9fd2111122 Spelling: decend/decent -> descend/descent 2017-09-26 07:42:21 +10:00
Huw Campbell
1ff89866be Allow a recurrent net to be a recurrent layer 2017-07-14 14:05:41 +10:00
Huw Campbell
ce519278e8 Bump hedgehog 2017-07-09 19:42:24 +10:00
Huw Campbell
412e8e4846 Bump version for release 2017-04-12 17:15:24 +10:00
Huw Campbell
3073e43911 Update categories 2017-04-12 16:06:56 +10:00
Huw Campbell
93a7a7a0c5 Add test files to other-modules in test suite 2017-04-12 15:37:57 +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
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
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