packages feed

neural-0.3.0.1: neural.cabal

name:                neural
version:             0.3.0.1
synopsis:            Neural Networks in native Haskell
description:
  The goal of `neural` is to provide a modular and flexible neural network library written in native Haskell.
  .
  Features include
  .
  * /composability/ via arrow-like instances and
    <https://hackage.haskell.org/package/pipes pipes>,
  .
  * /automatic differentiation/ for automatic gradient descent/ backpropagation training
    (using Edward Kmett's fabulous <https://hackage.haskell.org/package/ad ad> library).
  .
  The idea is to be able to easily define new components and wire them up in flexible, possibly
  complicated ways (convolutional deep networks etc.).
  .
  Four examples are included as proof of concept:
  .
  * A simple neural network that approximates the sine function on [0,2 pi].
  .
  * Another simple neural network that approximates the sqrt function on [0,4].
  .
  * A slightly more complicated neural network that solves the famous
    <https://en.wikipedia.org/wiki/Iris_flower_data_set Iris flower> problem.
  .
  * A first (still simple) neural network for recognizing handwritten digits from the equally famous
    <https://en.wikipedia.org/wiki/MNIST_database MNIST> database.
  .
  The library is still very much experimental at this point.

extra-source-files:
  .travis.yml
  .gitignore
  .ghci
  stack.yaml
  README.markdown

homepage:            https://github.com/brunjlar/neural
bug-reports:         https://github.com/brunjlar/neural/issues
license:             MIT
license-file:        LICENSE
author:              Lars Bruenjes
maintainer:          brunjlar@gmail.com
copyright:           Copyright: (c) 2016 Lars Bruenjes
category:            Machine Learning
build-type:          Simple
cabal-version:       >=1.10
stability:           provisional
tested-with:         GHC == 7.10.3, GHC == 8.0.1, GHC == 8.0.2

library
  hs-source-dirs:      src
  exposed-modules:     Numeric.Neural
                     , Numeric.Neural.Convolution
                     , Numeric.Neural.Layer
                     , Numeric.Neural.Model
                     , Numeric.Neural.Normalization
                     , Numeric.Neural.Pipes
                     , Data.FixedSize
                     , Data.FixedSize.Class
                     , Data.FixedSize.Matrix
                     , Data.FixedSize.Vector
                     , Data.FixedSize.Volume
                     , Data.MyPrelude
                     , Data.Utils
                     , Data.Utils.Analytic
                     , Data.Utils.Arrow
                     , Data.Utils.Cache
                     , Data.Utils.List
                     , Data.Utils.Pipes
                     , Data.Utils.Random
                     , Data.Utils.Stack
                     , Data.Utils.Statistics
                     , Data.Utils.Traversable
  other-modules:
  ghc-options:         -Wall -fexcess-precision -optc-O3 -optc-ffast-math
  build-depends:       base >= 4.7 && < 5
                     , ad
                     , array
                     , bytestring
                     , containers
                     , deepseq
                     , directory
                     , filepath
                     , ghc-typelits-natnormalise
                     , hspec
                     , kan-extensions
                     , lens
                     , MonadRandom
                     , monad-par
                     , monad-par-extras
                     , mtl
                     , parallel
                     , pipes
                     , pipes-bytestring
                     , pipes-safe
                     , profunctors
                     , random
                     , reflection
                     , STMonadTrans
                     , text
                     , transformers
                     , typelits-witnesses
                     , vector
                     , vector-sized
  default-language:    Haskell2010

test-suite neural-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  build-depends:       base >= 4.7 && < 5
                     , hspec
                     , MonadRandom
                     , neural
  other-modules:       Data.Utils.CacheSpec
                     , Data.FixedSize.ClassSpec
                     , Data.FixedSize.MatrixSpec
                     , Data.FixedSize.VectorSpec
                     , Data.FixedSize.VolumeSpec
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

test-suite neural-doctest
  type:                exitcode-stdio-1.0
  hs-source-dirs:      doctest
  main-is:             doctest.hs
  build-depends:       base >= 4.7 && < 5
                     , doctest
                     , Glob
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

benchmark neural-bench
  type:                exitcode-stdio-1.0
  hs-source-dirs:      benchmark
  main-is:             benchmark.hs
  build-depends:       base >= 4.7 && < 5
                     , criterion
                     , neural
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

executable iris
  hs-source-dirs:      examples/iris
  main-is:             iris.hs
  build-depends:       base >= 4.7 && < 5
                     , attoparsec
                     , neural
                     , text
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

executable sin
  hs-source-dirs:      examples/sin
  main-is:             sin.hs
  other-modules:       Graph
  build-depends:       base >= 4.7 && < 5
                     , ansi-terminal
                     , array
                     , neural
                     , MonadRandom
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

executable sqrt
  hs-source-dirs:      examples/sqrt
  main-is:             sqrt.hs
  build-depends:       base >= 4.7 && < 5
                     , MonadRandom
                     , neural
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

executable MNIST
  hs-source-dirs:      examples/MNIST
  main-is:             MNIST.hs
  build-depends:       base >= 4.7 && < 5
                     , array
                     , JuicyPixels
                     , neural
                     , pipes
                     , pipes-zlib
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -fexcess-precision -optc-O3 -optc-ffast-math
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://github.com/brunjlar/neural.git

source-repository this
  type:     git
  location: https://github.com/brunjlar/neural.git
  tag:      0.3.0.1