mxnet-0.2.0.0: MXNet interface in Haskell.

Copyright(c) 2016 Tao He
LicenseMIT
Maintainersighingnow@gmail.com
Safe HaskellNone
LanguageHaskell2010

MXNet.Core.Base

Contents

Description

Interfaces in core module of MXNet.

Synopsis

Necessary raw functions

mxGetLastError :: IO String Source #

Handle size_t type.

Get the string message of last error.

mxListAllOpNames :: IO (Int, [String]) Source #

List all the available operator names, include entries.

NDArray

data NDArray a Source #

NDArray type alias.

Instances

Neural NDArray Source # 

Methods

fullyConnected :: DType a => NDArray a -> NDArray a -> NDArray a -> Int -> IO (NDArray a) Source #

correlation :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

activation :: DType a => NDArray a -> String -> IO (NDArray a) Source #

leakyReLU :: DType a => NDArray a -> String -> IO (NDArray a) Source #

softmaxActivation :: DType a => NDArray a -> IO (NDArray a) Source #

dropout :: DType a => NDArray a -> Float -> IO (NDArray a) Source #

batchNorm :: DType a => NDArray a -> NDArray a -> NDArray a -> NDArray a -> NDArray a -> IO (NDArray a) Source #

instanceNorm :: DType a => NDArray a -> NDArray a -> NDArray a -> Float -> IO (NDArray a) Source #

l2Normalization :: DType a => NDArray a -> Float -> String -> IO (NDArray a) Source #

convolution :: DType a => NDArray a -> NDArray a -> NDArray a -> String -> Int -> IO (NDArray a) Source #

lrn :: DType a => NDArray a -> Float -> Float -> Float -> Int -> IO (NDArray a) Source #

deconvolution :: DType a => NDArray a -> NDArray a -> NDArray a -> String -> Int -> IO (NDArray a) Source #

pooling :: DType a => NDArray a -> String -> String -> IO (NDArray a) Source #

roiPooling :: DType a => NDArray a -> NDArray a -> String -> Int -> IO (NDArray a) Source #

rnn :: DType a => NDArray a -> NDArray a -> NDArray a -> NDArray a -> Int -> Int -> String -> IO (NDArray a) Source #

embedding :: DType a => NDArray a -> NDArray a -> Int -> Int -> IO (NDArray a) Source #

bilinearSampler :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

gridGenerator :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

upSampling :: DType a => [NDArray a] -> Int -> String -> IO (NDArray a) Source #

spatialTransformer :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

linearRegressionOutput :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

logisticRegressionOutput :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

softmaxOutput :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

maeRegressionOutput :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

svmOutput :: DType a => NDArray a -> NDArray a -> Int -> Float -> Bool -> IO (NDArray a) Source #

softmaxCrossEntropy :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

smoothL1 :: DType a => NDArray a -> Float -> IO (NDArray a) Source #

identityAttachKLSparsereg :: DType a => NDArray a -> IO (NDArray a) Source #

makeLoss :: DType a => NDArray a -> Float -> Float -> String -> IO (NDArray a) Source #

blockGrad :: DType a => NDArray a -> IO (NDArray a) Source #

custom :: DType a => [NDArray a] -> String -> IO (NDArray a) Source #

Tensor NDArray Source # 

Methods

dot :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

reshape :: DType a => NDArray a -> [Int] -> IO (NDArray a) Source #

transpose :: DType a => NDArray a -> IO (NDArray a) Source #

(+.) :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

(-.) :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

(*.) :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

(/.) :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

(^.) :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

(.+) :: DType a => NDArray a -> a -> IO (NDArray a) Source #

(.-) :: DType a => NDArray a -> a -> IO (NDArray a) Source #

(.*) :: DType a => NDArray a -> a -> IO (NDArray a) Source #

(./) :: DType a => NDArray a -> a -> IO (NDArray a) Source #

(.^) :: DType a => NDArray a -> a -> IO (NDArray a) Source #

(..-) :: DType a => a -> NDArray a -> IO (NDArray a) Source #

(../) :: DType a => a -> NDArray a -> IO (NDArray a) Source #

(..^) :: DType a => a -> NDArray a -> IO (NDArray a) Source #

(.+=) :: DType a => NDArray a -> a -> IO () Source #

(.-=) :: DType a => NDArray a -> a -> IO () Source #

(.*=) :: DType a => NDArray a -> a -> IO () Source #

(./=) :: DType a => NDArray a -> a -> IO () Source #

(.^=) :: DType a => NDArray a -> a -> IO () Source #

_Maximum :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

_Minimum :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

equal :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

notEqual :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

greater :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

greaterEqual :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

lesser :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

lesserEqual :: DType a => NDArray a -> NDArray a -> IO (NDArray a) Source #

_Maximum' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

_Minimum' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

equal' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

notEqual' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

greater' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

greaterEqual' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

lesser' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

lesserEqual' :: DType a => NDArray a -> a -> IO (NDArray a) Source #

(DType a, (~) * a Int8) => Eq (NDArray Int8) Source # 
(DType a, (~) * a Int32) => Eq (NDArray Int32) Source # 
(DType a, Floating a) => Eq (NDArray a) Source # 

Methods

(==) :: NDArray a -> NDArray a -> Bool #

(/=) :: NDArray a -> NDArray a -> Bool #

DType a => Floating (NDArray a) Source # 

Methods

pi :: NDArray a #

exp :: NDArray a -> NDArray a #

log :: NDArray a -> NDArray a #

sqrt :: NDArray a -> NDArray a #

(**) :: NDArray a -> NDArray a -> NDArray a #

logBase :: NDArray a -> NDArray a -> NDArray a #

sin :: NDArray a -> NDArray a #

cos :: NDArray a -> NDArray a #

tan :: NDArray a -> NDArray a #

asin :: NDArray a -> NDArray a #

acos :: NDArray a -> NDArray a #

atan :: NDArray a -> NDArray a #

sinh :: NDArray a -> NDArray a #

cosh :: NDArray a -> NDArray a #

tanh :: NDArray a -> NDArray a #

asinh :: NDArray a -> NDArray a #

acosh :: NDArray a -> NDArray a #

atanh :: NDArray a -> NDArray a #

log1p :: NDArray a -> NDArray a #

expm1 :: NDArray a -> NDArray a #

log1pexp :: NDArray a -> NDArray a #

log1mexp :: NDArray a -> NDArray a #

DType a => Fractional (NDArray a) Source # 

Methods

(/) :: NDArray a -> NDArray a -> NDArray a #

recip :: NDArray a -> NDArray a #

fromRational :: Rational -> NDArray a #

DType a => Num (NDArray a) Source # 

Methods

(+) :: NDArray a -> NDArray a -> NDArray a #

(-) :: NDArray a -> NDArray a -> NDArray a #

(*) :: NDArray a -> NDArray a -> NDArray a #

negate :: NDArray a -> NDArray a #

abs :: NDArray a -> NDArray a #

signum :: NDArray a -> NDArray a #

fromInteger :: Integer -> NDArray a #

(DType a, Pretty a) => Show (NDArray a) Source # 

Methods

showsPrec :: Int -> NDArray a -> ShowS #

show :: NDArray a -> String #

showList :: [NDArray a] -> ShowS #

waitAll :: IO () Source #

Wait all async operation to finish in MXNet.

makeEmptyNDArray Source #

Arguments

:: DType a 
=> [Int]

Shape.

-> Context

Context/

-> Bool

If delayed allocate.

-> IO (NDArray a) 

Make a new empty ndarray with specified shape, context and data type.

makeNDArray Source #

Arguments

:: DType a 
=> [Int]

size of every dimensions.

-> Context 
-> Vector a 
-> IO (NDArray a) 

Make a new NDArray with given shape.

ndshape Source #

Arguments

:: DType a 
=> NDArray a 
-> IO (Int, [Int])

Dimensions and size of every dimensions.

Get the shape of given NDArray.

ndsize Source #

Arguments

:: DType a 
=> NDArray a 
-> IO Int

Dimensions and size of every dimensions.

Get size of the given ndarray.

context :: DType a => NDArray a -> IO Context Source #

Get context of the given ndarray.

at Source #

Arguments

:: DType a 
=> NDArray a 
-> Int

The index.

-> NDArray a 

Return a sub ndarray that shares memory with current one.

items :: DType a => NDArray a -> IO (Vector a) Source #

Get data stored in NDArray.

slice Source #

Arguments

:: DType a 
=> NDArray a 
-> Int

The beginning index of slice.

-> Int

The end index of slices.

-> NDArray a 

Return a sliced ndarray that shares memory with current one.

waitToRead :: DType a => NDArray a -> IO () Source #

Block until all pending writes operations on current ndarray are finished.

onehotEncode Source #

Arguments

:: DType a 
=> NDArray a

An ndarray containing indices of the categorical features.

-> NDArray a

The result holder of the encoding.

-> IO (NDArray a)

The encoding ndarray.

One hot encoding indices into matrix out.

zeros Source #

Arguments

:: DType a 
=> [Int]

Shape.

-> IO (NDArray a) 

Create a new NDArray filled with 0, with specified shape and context.

ones Source #

Arguments

:: DType a 
=> [Int]

Shape.

-> IO (NDArray a) 

Create a new NDArray filled with 1, with specified shape and context.

full Source #

Arguments

:: DType a 
=> [Int]

Shape.

-> a

Given value to fill the ndarray.

-> IO (NDArray a) 

Create a new NDArray filled with given value, with specified shape and context.

array Source #

Arguments

:: DType a 
=> [Int]

Shape.

-> Vector a 
-> IO (NDArray a) 

Create a new NDArray that copies content from source_array.

Symbol

data Symbol a Source #

Type alias for variable.

Instances

Neural Symbol Source # 

Methods

fullyConnected :: DType a => Symbol a -> Symbol a -> Symbol a -> Int -> IO (Symbol a) Source #

correlation :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

activation :: DType a => Symbol a -> String -> IO (Symbol a) Source #

leakyReLU :: DType a => Symbol a -> String -> IO (Symbol a) Source #

softmaxActivation :: DType a => Symbol a -> IO (Symbol a) Source #

dropout :: DType a => Symbol a -> Float -> IO (Symbol a) Source #

batchNorm :: DType a => Symbol a -> Symbol a -> Symbol a -> Symbol a -> Symbol a -> IO (Symbol a) Source #

instanceNorm :: DType a => Symbol a -> Symbol a -> Symbol a -> Float -> IO (Symbol a) Source #

l2Normalization :: DType a => Symbol a -> Float -> String -> IO (Symbol a) Source #

convolution :: DType a => Symbol a -> Symbol a -> Symbol a -> String -> Int -> IO (Symbol a) Source #

lrn :: DType a => Symbol a -> Float -> Float -> Float -> Int -> IO (Symbol a) Source #

deconvolution :: DType a => Symbol a -> Symbol a -> Symbol a -> String -> Int -> IO (Symbol a) Source #

pooling :: DType a => Symbol a -> String -> String -> IO (Symbol a) Source #

roiPooling :: DType a => Symbol a -> Symbol a -> String -> Int -> IO (Symbol a) Source #

rnn :: DType a => Symbol a -> Symbol a -> Symbol a -> Symbol a -> Int -> Int -> String -> IO (Symbol a) Source #

embedding :: DType a => Symbol a -> Symbol a -> Int -> Int -> IO (Symbol a) Source #

bilinearSampler :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

gridGenerator :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

upSampling :: DType a => [Symbol a] -> Int -> String -> IO (Symbol a) Source #

spatialTransformer :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

linearRegressionOutput :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

logisticRegressionOutput :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

softmaxOutput :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

maeRegressionOutput :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

svmOutput :: DType a => Symbol a -> Symbol a -> Int -> Float -> Bool -> IO (Symbol a) Source #

softmaxCrossEntropy :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

smoothL1 :: DType a => Symbol a -> Float -> IO (Symbol a) Source #

identityAttachKLSparsereg :: DType a => Symbol a -> IO (Symbol a) Source #

makeLoss :: DType a => Symbol a -> Float -> Float -> String -> IO (Symbol a) Source #

blockGrad :: DType a => Symbol a -> IO (Symbol a) Source #

custom :: DType a => [Symbol a] -> String -> IO (Symbol a) Source #

Tensor Symbol Source # 

Methods

dot :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

reshape :: DType a => Symbol a -> [Int] -> IO (Symbol a) Source #

transpose :: DType a => Symbol a -> IO (Symbol a) Source #

(+.) :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

(-.) :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

(*.) :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

(/.) :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

(^.) :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

(.+) :: DType a => Symbol a -> a -> IO (Symbol a) Source #

(.-) :: DType a => Symbol a -> a -> IO (Symbol a) Source #

(.*) :: DType a => Symbol a -> a -> IO (Symbol a) Source #

(./) :: DType a => Symbol a -> a -> IO (Symbol a) Source #

(.^) :: DType a => Symbol a -> a -> IO (Symbol a) Source #

(..-) :: DType a => a -> Symbol a -> IO (Symbol a) Source #

(../) :: DType a => a -> Symbol a -> IO (Symbol a) Source #

(..^) :: DType a => a -> Symbol a -> IO (Symbol a) Source #

(.+=) :: DType a => Symbol a -> a -> IO () Source #

(.-=) :: DType a => Symbol a -> a -> IO () Source #

(.*=) :: DType a => Symbol a -> a -> IO () Source #

(./=) :: DType a => Symbol a -> a -> IO () Source #

(.^=) :: DType a => Symbol a -> a -> IO () Source #

_Maximum :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

_Minimum :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

equal :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

notEqual :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

greater :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

greaterEqual :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

lesser :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

lesserEqual :: DType a => Symbol a -> Symbol a -> IO (Symbol a) Source #

_Maximum' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

_Minimum' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

equal' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

notEqual' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

greater' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

greaterEqual' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

lesser' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

lesserEqual' :: DType a => Symbol a -> a -> IO (Symbol a) Source #

DType a => Floating (Symbol a) Source # 

Methods

pi :: Symbol a #

exp :: Symbol a -> Symbol a #

log :: Symbol a -> Symbol a #

sqrt :: Symbol a -> Symbol a #

(**) :: Symbol a -> Symbol a -> Symbol a #

logBase :: Symbol a -> Symbol a -> Symbol a #

sin :: Symbol a -> Symbol a #

cos :: Symbol a -> Symbol a #

tan :: Symbol a -> Symbol a #

asin :: Symbol a -> Symbol a #

acos :: Symbol a -> Symbol a #

atan :: Symbol a -> Symbol a #

sinh :: Symbol a -> Symbol a #

cosh :: Symbol a -> Symbol a #

tanh :: Symbol a -> Symbol a #

asinh :: Symbol a -> Symbol a #

acosh :: Symbol a -> Symbol a #

atanh :: Symbol a -> Symbol a #

log1p :: Symbol a -> Symbol a #

expm1 :: Symbol a -> Symbol a #

log1pexp :: Symbol a -> Symbol a #

log1mexp :: Symbol a -> Symbol a #

DType a => Fractional (Symbol a) Source # 

Methods

(/) :: Symbol a -> Symbol a -> Symbol a #

recip :: Symbol a -> Symbol a #

fromRational :: Rational -> Symbol a #

DType a => Num (Symbol a) Source # 

Methods

(+) :: Symbol a -> Symbol a -> Symbol a #

(-) :: Symbol a -> Symbol a -> Symbol a #

(*) :: Symbol a -> Symbol a -> Symbol a #

negate :: Symbol a -> Symbol a #

abs :: Symbol a -> Symbol a #

signum :: Symbol a -> Symbol a #

fromInteger :: Integer -> Symbol a #

DType a => Show (Symbol a) Source # 

Methods

showsPrec :: Int -> Symbol a -> ShowS #

show :: Symbol a -> String #

showList :: [Symbol a] -> ShowS #

variable Source #

Arguments

:: DType a 
=> String

Name.

-> IO (Symbol a)

Result variable.

Make a new symbolic variable with given name.

getName :: DType a => Symbol a -> IO String Source #

Get the name of a given variable.

getAttr :: DType a => Symbol a -> String -> IO (Maybe String) Source #

Get specified attribute of symbol.

setAttr :: DType a => Symbol a -> String -> String -> IO () Source #

Set specified attribute of symbol.

infershape :: DType a => Symbol a -> [String] -> IO ([[Int]], [[Int]], [[Int]]) Source #

Infer the shape of the given symbol, return the in, out and auxiliary shape size.

grad :: DType a => Symbol a -> [String] -> IO (Symbol a) Source #

Get the autodiff of current symbol. This function can only be used if current symbol is a loss function.

bind :: DType a => Symbol a -> Context -> HashMap String (NDArray a) -> IO (Executor a) Source #

Bind with explicit argument mapping (name -- value mapping).

bind' :: DType a => Symbol a -> Context -> [NDArray a] -> IO (Executor a) Source #

Bind without explicit argument mapping (name -- value mapping).

listInputs :: DType a => Symbol a -> IO [String] Source #

List all input arguments.

listOutputs :: DType a => Symbol a -> IO [String] Source #

List all output results.

listAuxiliaries :: DType a => Symbol a -> IO [String] Source #

List all auxiliary states.

Executor

data Executor a Source #

Type alias for variable.

makeExecutor :: DType a => ExecutorHandle -> IO (Executor a) Source #

Make an executor using the given handler.

forward Source #

Arguments

:: DType a 
=> Executor a

The executor handle.

-> Bool

Whether this forward is for evaluation purpose.

-> IO () 

Executor forward method.

backward Source #

Arguments

:: DType a 
=> Executor a

The executor handle.

-> IO () 

Executor backward method.

DType

Heterogeneous Dictionary.