Something went wrong. Try again.
๐ฃ Machine learning which might blow up in your face ๐ฃ
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354module Grenade ( -- | This is an empty module which simply re-exports public definitions -- for machine learning with Grenade.
-- * Exported modules -- -- | The core types and runners for Grenade. module Grenade.Core
-- | The neural network layer zoo , module Grenade.Layers
-- * Overview of the library -- $library
-- * Example usage -- $example
) where
import Grenade.Coreimport Grenade.Layers
{- $libraryGrenade is a purely functional deep learning library.
It provides an expressive type level API for the constructionof complex neural network architectures. Backing this API is andimplementation written using BLAS and LAPACK, mostly provided bythe hmatrix library.
-}
{- $exampleA few examples are provided at https://github.com/HuwCampbell/grenadeunder the examples folder.
The starting place is to write your neural network type and afunction to create a random layer of that type. The followingis a simple example which runs a logistic regression.
> type MyNet = Network '[ FullyConnected 10 1, Logit ] '[ 'D1 10, 'D1 1, 'D1 1 ]>> randomMyNet :: MonadRandom MyNet> randomMyNet = randomNetwork
The function `randomMyNet` witnesses the `CreatableNetwork`constraint of the neural network, and in doing so, ensures the networkcan be built, and hence, that the architecture is sound.-}