haskell-ml: Machine learning in Haskell
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.)
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.
[Skip to Readme]
|Versions [faq]||0.4.0, 0.4.1, 0.4.2|
|Dependencies||attoparsec, base (>=4.7 && <5), binary, haskell-ml, hmatrix, MonadRandom, random-shuffle, singletons, text, vector [details]|
|Copyright||2018 David Banas|
|Source repo||head: git clone https://github.com/capn-freako/Haskell_ML.git|
|Uploaded||by DavidBanas at Sun Jan 28 16:04:36 UTC 2018|
|Downloads||288 total (40 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
Docs available [build log]
Last success reported on 2018-01-28 [all 1 reports]
For package maintainers and hackage trustees