mxnet-nn-0.0.1.3: Train a neural network with MXNet in Haskell.

Safe HaskellNone
LanguageHaskell2010

MXNet.NN.Optimizer

Synopsis

Documentation

class Optimizer (opt :: * -> [KV *] -> *) where Source #

Abstract Optimizer type class

Minimal complete definition

makeOptimizer, optimize

Associated Types

type OptArgsList opt :: [KV *] Source #

Specific constraints of the optimizer

Methods

makeOptimizer :: OptArgsCst opt args => Float -> HMap args -> IO (opt dtype args) Source #

make the optimizer

optimize :: OptArgsCst opt args => opt dtype args -> String -> NDArray dytpe -> NDArray dtype -> IO (NDArray dtype) Source #

run the optimizer with the input & expected tensor

Instances

Optimizer ADAM Source # 

Associated Types

type OptArgsList (ADAM :: * -> [KV *] -> *) :: [KV *] Source #

Methods

makeOptimizer :: OptArgsCst ADAM args => Float -> HMap args -> IO (ADAM dtype args) Source #

optimize :: OptArgsCst ADAM args => ADAM dtype args -> String -> NDArray dytpe -> NDArray dtype -> IO (NDArray dtype) Source #

Optimizer SGD Source # 

Associated Types

type OptArgsList (SGD :: * -> [KV *] -> *) :: [KV *] Source #

Methods

makeOptimizer :: OptArgsCst SGD args => Float -> HMap args -> IO (SGD dtype args) Source #

optimize :: OptArgsCst SGD args => SGD dtype args -> String -> NDArray dytpe -> NDArray dtype -> IO (NDArray dtype) Source #

type OptArgsCst opt args = (ShowKV args, MatchKVList args (OptArgsList opt)) Source #

Constraint of using an optimizer

data SGD dtype args Source #

SGD optimizer

Instances

Optimizer SGD Source # 

Associated Types

type OptArgsList (SGD :: * -> [KV *] -> *) :: [KV *] Source #

Methods

makeOptimizer :: OptArgsCst SGD args => Float -> HMap args -> IO (SGD dtype args) Source #

optimize :: OptArgsCst SGD args => SGD dtype args -> String -> NDArray dytpe -> NDArray dtype -> IO (NDArray dtype) Source #

type OptArgsList SGD Source # 
type OptArgsList SGD = (:) (KV *) ((:=) * "wd" Float) ((:) (KV *) ((:=) * "rescale_grad" Float) ((:) (KV *) ((:=) * "clip_gradient" Float) ([] (KV *))))

data ADAM dtype args Source #

ADAM optmizer

Instances

Optimizer ADAM Source # 

Associated Types

type OptArgsList (ADAM :: * -> [KV *] -> *) :: [KV *] Source #

Methods

makeOptimizer :: OptArgsCst ADAM args => Float -> HMap args -> IO (ADAM dtype args) Source #

optimize :: OptArgsCst ADAM args => ADAM dtype args -> String -> NDArray dytpe -> NDArray dtype -> IO (NDArray dtype) Source #

type OptArgsList ADAM Source # 
type OptArgsList ADAM = (:) (KV *) ((:=) * "beta1" Float) ((:) (KV *) ((:=) * "beta2" Float) ((:) (KV *) ((:=) * "epsilon" Float) ((:) (KV *) ((:=) * "wd" Float) ((:) (KV *) ((:=) * "rescale_grad" Float) ((:) (KV *) ((:=) * "clip_gradient" Float) ([] (KV *)))))))