2016-06-23 15:12:57 +03:00
|
|
|
name: grenade
|
2017-04-12 10:15:24 +03:00
|
|
|
version: 0.1.0
|
2016-06-28 15:08:45 +03:00
|
|
|
license: BSD2
|
2017-02-07 10:30:10 +03:00
|
|
|
license-file: LICENSE
|
2016-06-28 02:31:44 +03:00
|
|
|
author: Huw Campbell <huw.campbell@gmail.com>
|
|
|
|
maintainer: Huw Campbell <huw.campbell@gmail.com>
|
2017-02-20 11:16:38 +03:00
|
|
|
copyright: (c) 2016-2017 Huw Campbell.
|
2017-04-07 15:50:28 +03:00
|
|
|
synopsis: Practical Deep Learning in Haskell
|
2017-04-12 09:06:56 +03:00
|
|
|
category: AI, Machine Learning
|
2018-12-14 22:43:22 +03:00
|
|
|
cabal-version: >= 1.10
|
2016-06-23 15:12:57 +03:00
|
|
|
build-type: Simple
|
2017-04-07 15:50:28 +03:00
|
|
|
description:
|
|
|
|
Grenade is a composable, dependently typed, practical, and fast
|
2017-04-12 09:06:56 +03:00
|
|
|
recurrent neural network library for precise specifications and
|
|
|
|
complex deep neural networks in Haskell.
|
2017-04-07 15:50:28 +03:00
|
|
|
.
|
|
|
|
Grenade provides an API for composing layers of a neural network
|
2017-04-12 09:06:56 +03:00
|
|
|
into a sequence parallel graph in a type safe manner; running
|
|
|
|
networks with reverse automatic differentiation to calculate their
|
2017-09-25 12:56:42 +03:00
|
|
|
gradients; and applying gradient descent for learning.
|
2017-04-07 15:50:28 +03:00
|
|
|
.
|
|
|
|
Documentation and examples are available on github
|
|
|
|
<https://github.com/HuwCampbell/grenade>.
|
2016-06-23 15:12:57 +03:00
|
|
|
|
2016-12-12 15:35:00 +03:00
|
|
|
extra-source-files:
|
2017-04-12 09:06:56 +03:00
|
|
|
README.md
|
2017-02-20 11:16:38 +03:00
|
|
|
cbits/im2col.h
|
|
|
|
cbits/im2col.c
|
2017-09-25 12:56:42 +03:00
|
|
|
cbits/gradient_descent.h
|
|
|
|
cbits/gradient_descent.c
|
2017-02-20 11:16:38 +03:00
|
|
|
cbits/pad.h
|
|
|
|
cbits/pad.c
|
2016-12-12 15:35:00 +03:00
|
|
|
|
2017-02-07 10:30:10 +03:00
|
|
|
source-repository head
|
|
|
|
type: git
|
|
|
|
location: https://github.com/HuwCampbell/grenade.git
|
|
|
|
|
2016-06-23 15:12:57 +03:00
|
|
|
library
|
|
|
|
build-depends:
|
|
|
|
base >= 4.8 && < 5
|
|
|
|
, bytestring == 0.10.*
|
2018-12-14 18:13:35 +03:00
|
|
|
, containers >= 0.5 && < 0.7
|
2017-02-20 11:16:38 +03:00
|
|
|
, cereal >= 0.5 && < 0.6
|
|
|
|
, deepseq >= 1.4 && < 1.5
|
2020-01-18 13:05:29 +03:00
|
|
|
, hmatrix >= 0.18 && < 0.21
|
2017-02-20 11:16:38 +03:00
|
|
|
, MonadRandom >= 0.4 && < 0.6
|
2020-01-18 13:05:29 +03:00
|
|
|
, primitive >= 0.6 && < 0.8
|
2018-09-16 10:33:14 +03:00
|
|
|
-- Versions of singletons are *tightly* coupled with the
|
|
|
|
-- GHC version so its fine to drop version bounds.
|
|
|
|
, singletons
|
2017-02-20 11:16:38 +03:00
|
|
|
, vector >= 0.11 && < 0.13
|
2016-06-23 15:12:57 +03:00
|
|
|
|
|
|
|
ghc-options:
|
|
|
|
-Wall
|
|
|
|
hs-source-dirs:
|
|
|
|
src
|
|
|
|
|
2018-12-14 22:43:22 +03:00
|
|
|
default-language: Haskell2010
|
|
|
|
|
2017-02-20 11:16:38 +03:00
|
|
|
if impl(ghc < 8.0)
|
|
|
|
ghc-options: -fno-warn-incomplete-patterns
|
2018-12-14 21:40:41 +03:00
|
|
|
cpp-options: -DType=*
|
2017-02-20 11:16:38 +03:00
|
|
|
|
2018-12-14 21:00:19 +03:00
|
|
|
if impl(ghc >= 8.6)
|
|
|
|
default-extensions: NoStarIsType
|
2016-06-23 15:12:57 +03:00
|
|
|
|
|
|
|
exposed-modules:
|
|
|
|
Grenade
|
2017-02-01 14:11:55 +03:00
|
|
|
Grenade.Core
|
|
|
|
Grenade.Core.Layer
|
|
|
|
Grenade.Core.LearningParameters
|
2016-06-23 15:12:57 +03:00
|
|
|
Grenade.Core.Network
|
|
|
|
Grenade.Core.Runner
|
|
|
|
Grenade.Core.Shape
|
2017-02-20 11:16:38 +03:00
|
|
|
|
|
|
|
Grenade.Layers
|
2017-02-02 12:27:02 +03:00
|
|
|
Grenade.Layers.Concat
|
2016-06-23 15:12:57 +03:00
|
|
|
Grenade.Layers.Convolution
|
2017-02-20 11:16:38 +03:00
|
|
|
Grenade.Layers.Crop
|
2017-04-06 06:34:43 +03:00
|
|
|
Grenade.Layers.Deconvolution
|
2016-06-23 15:12:57 +03:00
|
|
|
Grenade.Layers.Dropout
|
2017-02-20 11:16:38 +03:00
|
|
|
Grenade.Layers.Elu
|
2016-06-23 15:12:57 +03:00
|
|
|
Grenade.Layers.FullyConnected
|
2017-02-20 11:16:38 +03:00
|
|
|
Grenade.Layers.Inception
|
2016-06-23 15:12:57 +03:00
|
|
|
Grenade.Layers.Logit
|
2017-02-02 12:27:02 +03:00
|
|
|
Grenade.Layers.Merge
|
2016-07-01 05:16:50 +03:00
|
|
|
Grenade.Layers.Pad
|
2016-06-23 15:12:57 +03:00
|
|
|
Grenade.Layers.Pooling
|
2017-02-20 11:16:38 +03:00
|
|
|
Grenade.Layers.Relu
|
|
|
|
Grenade.Layers.Reshape
|
2018-01-26 12:52:41 +03:00
|
|
|
Grenade.Layers.Sinusoid
|
2017-02-20 11:16:38 +03:00
|
|
|
Grenade.Layers.Softmax
|
|
|
|
Grenade.Layers.Tanh
|
|
|
|
Grenade.Layers.Trivial
|
2016-06-23 15:12:57 +03:00
|
|
|
|
2016-12-08 01:03:29 +03:00
|
|
|
Grenade.Layers.Internal.Convolution
|
2017-02-02 12:27:02 +03:00
|
|
|
Grenade.Layers.Internal.Pad
|
2016-12-08 01:03:29 +03:00
|
|
|
Grenade.Layers.Internal.Pooling
|
2016-12-20 08:31:09 +03:00
|
|
|
Grenade.Layers.Internal.Update
|
|
|
|
|
|
|
|
Grenade.Recurrent
|
|
|
|
|
2017-02-06 13:11:51 +03:00
|
|
|
Grenade.Recurrent.Core
|
|
|
|
Grenade.Recurrent.Core.Layer
|
2016-12-20 08:31:09 +03:00
|
|
|
Grenade.Recurrent.Core.Network
|
|
|
|
Grenade.Recurrent.Core.Runner
|
|
|
|
|
2017-02-20 11:16:38 +03:00
|
|
|
Grenade.Recurrent.Layers
|
2016-12-20 08:31:09 +03:00
|
|
|
Grenade.Recurrent.Layers.BasicRecurrent
|
2017-07-14 07:05:41 +03:00
|
|
|
Grenade.Recurrent.Layers.ConcatRecurrent
|
2016-12-20 08:31:09 +03:00
|
|
|
Grenade.Recurrent.Layers.LSTM
|
|
|
|
|
|
|
|
Grenade.Utils.OneHot
|
2016-12-08 01:03:29 +03:00
|
|
|
|
2017-02-20 11:16:38 +03:00
|
|
|
includes: cbits/im2col.h
|
2017-09-25 12:56:42 +03:00
|
|
|
cbits/gradient_descent.h
|
2017-02-20 11:16:38 +03:00
|
|
|
cbits/pad.h
|
|
|
|
c-sources: cbits/im2col.c
|
2017-09-25 12:56:42 +03:00
|
|
|
cbits/gradient_descent.c
|
2017-02-20 11:16:38 +03:00
|
|
|
cbits/pad.c
|
2016-06-23 15:12:57 +03:00
|
|
|
|
2017-02-20 11:16:38 +03:00
|
|
|
cc-options: -std=c99 -O3 -msse4.2 -Wall -Werror -DCABAL=1
|
2016-06-23 15:12:57 +03:00
|
|
|
|
|
|
|
test-suite test
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
|
|
|
|
main-is: test.hs
|
|
|
|
|
|
|
|
ghc-options: -Wall -threaded -O2
|
|
|
|
|
|
|
|
hs-source-dirs:
|
|
|
|
test
|
|
|
|
|
2018-12-14 22:43:22 +03:00
|
|
|
default-language: Haskell2010
|
2017-04-12 08:08:41 +03:00
|
|
|
|
|
|
|
other-modules: Test.Hedgehog.Compat
|
|
|
|
Test.Hedgehog.Hmatrix
|
|
|
|
Test.Hedgehog.TypeLits
|
|
|
|
|
|
|
|
Test.Grenade.Network
|
|
|
|
Test.Grenade.Layers.Convolution
|
|
|
|
Test.Grenade.Layers.FullyConnected
|
|
|
|
Test.Grenade.Layers.Nonlinear
|
|
|
|
Test.Grenade.Layers.PadCrop
|
|
|
|
Test.Grenade.Layers.Pooling
|
|
|
|
Test.Grenade.Layers.Internal.Convolution
|
|
|
|
Test.Grenade.Layers.Internal.Pooling
|
|
|
|
Test.Grenade.Layers.Internal.Reference
|
|
|
|
|
|
|
|
Test.Grenade.Recurrent.Layers.LSTM
|
|
|
|
Test.Grenade.Recurrent.Layers.LSTM.Reference
|
|
|
|
|
2017-04-12 04:59:40 +03:00
|
|
|
if impl(ghc < 8.0)
|
|
|
|
ghc-options: -fno-warn-incomplete-patterns
|
2018-12-14 22:43:22 +03:00
|
|
|
cpp-options: -DType=*
|
|
|
|
|
|
|
|
if impl(ghc >= 8.6)
|
|
|
|
default-extensions: NoStarIsType
|
2017-04-12 04:59:40 +03:00
|
|
|
|
2016-06-23 15:12:57 +03:00
|
|
|
build-depends:
|
2018-09-16 10:33:14 +03:00
|
|
|
base
|
2016-06-23 15:12:57 +03:00
|
|
|
, grenade
|
2020-01-18 13:05:29 +03:00
|
|
|
, hedgehog >= 1.0 && < 1.1
|
2016-06-23 15:12:57 +03:00
|
|
|
, hmatrix
|
|
|
|
, mtl
|
2016-12-15 03:21:37 +03:00
|
|
|
, singletons
|
2016-06-28 14:55:07 +03:00
|
|
|
, text == 1.2.*
|
2020-01-18 12:10:45 +03:00
|
|
|
, typelits-witnesses < 0.4
|
2017-04-10 01:49:18 +03:00
|
|
|
, transformers
|
2016-12-15 03:21:37 +03:00
|
|
|
, constraints
|
|
|
|
, MonadRandom
|
|
|
|
, random
|
2016-12-20 08:31:09 +03:00
|
|
|
, ad
|
|
|
|
, reflection
|
2017-04-11 03:08:08 +03:00
|
|
|
, vector
|
2016-12-12 02:20:40 +03:00
|
|
|
|
|
|
|
|
|
|
|
benchmark bench
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
|
|
|
|
main-is: bench.hs
|
|
|
|
|
|
|
|
ghc-options: -Wall -threaded -O2
|
|
|
|
|
|
|
|
hs-source-dirs:
|
|
|
|
bench
|
|
|
|
|
2018-12-14 22:43:22 +03:00
|
|
|
default-language: Haskell2010
|
|
|
|
|
2016-12-12 02:20:40 +03:00
|
|
|
build-depends:
|
2018-09-16 10:33:14 +03:00
|
|
|
base
|
|
|
|
, bytestring
|
2019-02-19 08:59:08 +03:00
|
|
|
, criterion >= 1.1 && < 1.6
|
2016-12-12 02:20:40 +03:00
|
|
|
, grenade
|
|
|
|
, hmatrix
|
2016-12-20 08:31:09 +03:00
|
|
|
|
|
|
|
benchmark bench-lstm
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
|
|
|
|
main-is: bench-lstm.hs
|
|
|
|
|
|
|
|
ghc-options: -Wall -threaded -O2
|
|
|
|
|
|
|
|
hs-source-dirs:
|
|
|
|
bench
|
|
|
|
|
2018-12-14 22:43:22 +03:00
|
|
|
default-language: Haskell2010
|
|
|
|
|
2016-12-20 08:31:09 +03:00
|
|
|
build-depends:
|
2018-09-16 10:33:14 +03:00
|
|
|
base
|
|
|
|
, bytestring
|
|
|
|
, criterion
|
2016-12-20 08:31:09 +03:00
|
|
|
, grenade
|
|
|
|
, hmatrix
|