packages feed

haskell-ml-0.4.2: haskell-ml.cabal

name:                haskell-ml
version:             0.4.2
synopsis:            Machine learning in Haskell
description:         Provides a very simple implementation of deep (i.e. - multi-layer),
  fully connected (i.e. - _not_ convolutional) neural networks. Hides the type of the
  internal network structure from the client code, while still providing type safety,
  via existential type quantification and dependently typed programming techniques,
  ala Justin Le. (See [Justin's blog post](https://blog.jle.im/entry/practical-dependent-types-in-haskell-2.html).)
  .
  The API offers a single network creation function: `randNet`, which allows the user
  to create a randomly initialized network of arbitrary internal structure by supplying
  a list of integers, each specifying the output width of one hidden layer in the network.
  (The input/output widths are determined automatically by the compiler, via type inference.)
  The type of the internal structure (i.e. - hidden layers) is existentially hidden, outside
  the API, which offers the following benefits:
  .
  - Client generated networks of different internal structure may be stored in a common list
  (or, other Functorial data structure).
  .
  - The exact structure of the network may be specified at run time, via: user input, file I/O, etc.,
  while still providing GHC enforced type safety, at compile time.
  .
  - Complex networks with long training times may be stored, after being trained, so that they
  may be recalled and used again, at a later date/time, without having to re-train them.

license:             BSD3
license-file:        LICENSE
author:              David Banas
maintainer:          capn.freako@gmail.com
copyright:           2018 David Banas
category:            Machine Learning
build-type:          Simple
extra-source-files:  README.md
                     stack.yaml
                     .gitignore
cabal-version:       >=1.10

source-repository head
  type:     git
  location: https://github.com/capn-freako/Haskell_ML.git

library
  hs-source-dirs:      src
  exposed-modules:     Haskell_ML.FCN
                     , Haskell_ML.Util
  build-depends:       base >= 4.7 && < 5
                     , attoparsec
                     , binary
                     , hmatrix
                     , MonadRandom
                     , singletons
                     , text
                     , vector
  default-language:    Haskell2010
  ghc-options:         -O2
                       -fexcess-precision
                       -optc-ffast-math
                       -optc-O3

executable iris
  hs-source-dirs:      example/iris
  main-is:             iris.hs
  build-depends:       base >= 4.7 && < 5
                     , haskell-ml
                     , hmatrix
                     , random-shuffle
  default-language:    Haskell2010
  ghc-options:         -O2
                       -fexcess-precision
                       -optc-ffast-math
                       -optc-O3
                       -- -rtsopts

test-suite fcnTest1
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             fcnTest1.hs
  build-depends:       base >= 4.7 && < 5
                     , haskell-ml
                     , MonadRandom
  default-language:    Haskell2010
  ghc-options:         -O2
                       -fexcess-precision
                       -optc-ffast-math
                       -optc-O3