Commit Graph

61 Commits

Author SHA1 Message Date
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
70e9b83b04 Remove unneeded function 2016-12-13 11:09:35 +11:00
Huw Campbell
fc958630c4 Merge pull request #16 from HuwCampbell/topic/performance
Topic/performance
2016-12-13 11:01:35 +11:00
Huw Campbell
bacfa8145b Update REAMDE and use type synonyms 2016-12-13 10:59:29 +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
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
f04bfebfee Speed up im2col, vid2col.
Each point on the output is written to precisely once, so we don't
need to initialise it or use an additive update modifier.
2016-12-12 12:59:41 +11:00
Huw Campbell
bd881faf2b Add some benchmarks 2016-12-12 10:20:40 +11:00
Huw Campbell
c0bb69de3b Update README 2016-12-09 22:48:41 +11:00
Huw Campbell
2cffa4a568 Merge pull request #14 from HuwCampbell/topic/performance
Topic/performance
2016-12-09 22:04:50 +11:00
Huw Campbell
267ebc2080 Optimise poolForwardFit 2016-12-09 22:03:29 +11:00
Huw Campbell
b914b91c1f Reimplement pooling backwards for speed 2016-12-09 22:03:29 +11:00
Huw Campbell
bbd29e71bd Make ST modifications strict 2016-12-09 22:03:29 +11:00
Huw Campbell
8b3ca1e0b6 Merge pull request #13 from HuwCampbell/topic/performance
Topic/performance
2016-12-09 10:44:51 +11:00
Huw Campbell
a29afe8603 Replace dodgy sequence 2016-12-09 09:17:23 +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
ff20855676 Minor changes 2016-12-08 10:32:07 +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
d360438fc0 Update hmatrix 2016-12-08 10:10:13 +11:00
Huw Campbell
2cb93c6a5b Use ExceptT in mnist 2016-12-08 10:10:04 +11:00
Huw Campbell
3f7cf7f9a6 Merge pull request #12 from HuwCampbell/topic/gradients
Topic/gradients
2016-12-07 09:16:05 +11:00
Huw Campbell
8cd875a62d Update types in README 2016-12-06 21:07:38 +11:00
Huw Campbell
a87fde1a90 Simplify, start working toward randomNet again 2016-12-06 17:27:49 +11:00
Huw Campbell
ae4de42556 Remove phase. It's not needed 2016-12-04 21:27:59 +11:00
Huw Campbell
109d5be3ca Nicer types, and better regulariser so mnist actually works 2016-12-04 11:20:27 +11:00
Huw Campbell
70fbac3924 Merge pull request #11 from HuwCampbell/topic/learning-separation
Topic/learning separation
2016-12-04 11:19:24 +11:00
Huw Campbell
dfbb6c17b8 Remove pad from MNIST example, tidy ups 2016-12-03 00:04:01 +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
b01ef9f74e Simpler type 2016-12-02 20:43:31 +11:00
Huw Campbell
cd4598bee8 Remove Typeable, fix tests 2016-12-02 19:14:37 +11:00
Huw Campbell
114dab4103 Separate Gradient calculation from update 2016-12-02 18:22:35 +11:00
Huw Campbell
cef1b14268 Add P 2016-12-02 15:24:12 +11:00
Huw Campbell
be61f9b762 Merge pull request #10 from angerman/patch-2
Update README.md
2016-10-17 21:14:29 +11:00
Moritz Angermann
b2136e9751 Update README.md
Add links to Justin Le and the practical dependent types in haskell blog post, so others don't have to jump through google to find the relevant links :-)
2016-10-17 18:10:13 +08: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
Huw Campbell
a5398f7ec7 Merge pull request #7 from erikd/master
Now builds with ghc 7.10 and 8.0
2016-07-01 20:00:06 +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
Huw Campbell
047ee6a08c Fixup README link 2016-06-29 20:55:02 +10:00
Huw Campbell
2bd9f46aa1 Merge pull request #4 from erikd/master
Add .gitignore and add minimal build documentation
2016-06-29 20:53:52 +10:00
Erik de Castro Lopo
4ef66b7569 README.md: Minimal build instructions 2016-06-29 20:47:22 +10:00
Erik de Castro Lopo
c719fe0df8 Add .gitignore 2016-06-29 20:24:06 +10:00
Huw Campbell
b8e0450cbd Merge pull request #3 from erikd/master
Couple of minor fixes
2016-06-28 22:33:49 +10:00
Erik de Castro Lopo
3fda2d072c grenade.cabal: Specify BSD2 to match the LICENSE file 2016-06-28 22:08:45 +10:00