mxnet
|
namespace of mxnet More...
Namespaces | |
common | |
cpp | |
csr | |
engine | |
namespace of engine internal types. | |
op | |
namespace of arguments | |
rowsparse | |
Classes | |
struct | Context |
Context information about the execution environment. More... | |
struct | DataBatch |
DataBatch of NDArray, returned by Iterator. More... | |
struct | DataInst |
a single data instance More... | |
struct | DataIteratorReg |
Registry entry for DataIterator factory functions. More... | |
class | Engine |
Dependency engine that schedules operations. More... | |
class | Executor |
Executor of a computation graph. Executor can be created by Binding a symbol. More... | |
class | IIterator |
iterator type More... | |
class | Imperative |
runtime functions for NDArray More... | |
class | KVStore |
distributed key-value store More... | |
class | NDArray |
ndarray interface More... | |
struct | NDArrayFunctionReg |
Registry entry for NDArrayFunction. More... | |
struct | OpContext |
All the possible information needed by Operator.Forward and Backward This is the superset of RunContext. We use this data structure to bookkeep everything needed by Forward and Backward. More... | |
class | Operator |
Operator interface. Operator defines basic operation unit of optimized computation graph in mxnet. This interface relies on pre-allocated memory in TBlob, the caller need to set the memory region in TBlob correctly before calling Forward and Backward. More... | |
class | OperatorProperty |
OperatorProperty is a object that stores all information about Operator. It also contains method to generate context(device) specific operators. More... | |
struct | OperatorPropertyReg |
Registry entry for OperatorProperty factory functions. More... | |
class | OpStatePtr |
Operator state. This is a pointer type, its content is mutable even if OpStatePtr is const. More... | |
struct | Resource |
Resources used by mxnet operations. A resource is something special other than NDArray, but will still participate. More... | |
class | ResourceManager |
Global resource manager. More... | |
struct | ResourceRequest |
The resources that can be requested by Operator. More... | |
struct | RunContext |
execution time context. The information needed in runtime for actual execution. More... | |
class | Storage |
Storage manager across multiple devices. More... | |
class | TBlob |
tensor blob class that can be used to hold tensor of any dimension, any device and any data type, This is a weak type that can be used to transfer data through interface TBlob itself do not involve any arithmentic operations, but it can be converted to tensor of fixed dimension for further operations More... | |
Typedefs | |
typedef mshadow::cpu | cpu |
mxnet cpu More... | |
typedef mshadow::gpu | gpu |
mxnet gpu More... | |
typedef mshadow::index_t | index_t |
index type usually use unsigned More... | |
typedef mshadow::default_real_t | real_t |
data type that will be used to store ndarray More... | |
using | TShape = nnvm::TShape |
Shape data structure used to record shape information. More... | |
using | Op = nnvm::Op |
operator structure from NNVM More... | |
using | StorageTypeVector = std::vector< int > |
The result holder of storage type of each NodeEntry in the graph. More... | |
using | DispatchModeVector = std::vector< DispatchMode > |
The result holder of dispatch mode of each Node in the graph. More... | |
typedef std::function< IIterator< DataBatch > *()> | DataIteratorFactory |
typedef the factory function of data iterator More... | |
typedef std::function< void(NDArray **used_vars, real_t *scalars, NDArray **mutate_vars, int num_params, char **param_keys, char **param_vals)> | NDArrayAPIFunction |
definition of NDArray function More... | |
using | FCreateOpState = std::function< OpStatePtr(const NodeAttrs &attrs, Context ctx, const std::vector< TShape > &in_shape, const std::vector< int > &in_type)> |
Create a Layer style, forward/backward operator. This is easy to write code that contains state. OpStatePtr is a pointer type, it's content is mutable even if OpStatePtr is constant. More... | |
using | FExecType = std::function< ExecType(const NodeAttrs &attrs)> |
Execution mode of this operator. More... | |
using | FStatefulCompute = std::function< void(const OpStatePtr &state, const OpContext &ctx, const std::vector< TBlob > &inputs, const std::vector< OpReqType > &req, const std::vector< TBlob > &outputs)> |
Resiger a compute function for stateful operator. OpStatePtr is a pointer type, it's content is mutable even if OpStatePtr is constant. More... | |
using | FStatefulComputeEx = std::function< void(const OpStatePtr &state, const OpContext &ctx, const std::vector< NDArray > &inputs, const std::vector< OpReqType > &req, const std::vector< NDArray > &outputs)> |
Resiger a compute function for stateful operator using NDArray interface. OpStatePtr is a pointer type, it's content is mutable even if OpStatePtr is constant. More... | |
using | FResourceRequest = std::function< std::vector< ResourceRequest >(const NodeAttrs &n)> |
The resource request from the operator. An operator could register ResourceRequestEx, or ResourceRequest, or neither. More... | |
using | FResourceRequestEx = std::function< std::vector< ResourceRequest >(const NodeAttrs &n, const int dev_mask, const DispatchMode dispatch_mode)> |
The resource request from the operator. An operator could register ResourceRequestEx, or ResourceRequest, or neither. More... | |
using | FNDArrayFunction = std::function< void(const nnvm::NodeAttrs &attrs, const std::vector< NDArray > &inputs, std::vector< NDArray > *outputs)> |
Register an operator called as a NDArray function. More... | |
using | FCompute = std::function< void(const nnvm::NodeAttrs &attrs, const OpContext &ctx, const std::vector< TBlob > &inputs, const std::vector< OpReqType > &req, const std::vector< TBlob > &outputs)> |
Resiger a compute function for simple stateless forward only operator. More... | |
using | FComputeEx = std::function< void(const nnvm::NodeAttrs &attrs, const OpContext &ctx, const std::vector< NDArray > &inputs, const std::vector< OpReqType > &req, const std::vector< NDArray > &outputs)> |
Resiger an NDArray compute function for simple stateless forward only operator. More... | |
using | FInferStorageType = std::function< bool(const NodeAttrs &attrs, const int dev_mask, DispatchMode *dispatch_mode, std::vector< int > *in_attrs, std::vector< int > *out_attrs)> |
Resiger a storage and dispatch mode inference function based on storage types of the inputs and outputs, and the dev_mask for the operator. More... | |
using | FQuantizedOp = std::function< nnvm::NodePtr(const NodeAttrs &attrs)> |
Register a quantized node creation function based on the attrs of the node. More... | |
using | FNeedRequantize = std::function< bool(const NodeAttrs &attrs)> |
Register a function to determine if the output of a quantized operator needs to be requantized. This is usually used for the operators taking int8 data types while accumulating in int32, e.g. quantized_conv. More... | |
typedef std::function< OperatorProperty *()> | OperatorPropertyFactory |
typedef the factory function of operator property More... | |
Functions | |
size_t | num_aux_data (NDArrayStorageType stype) |
void | CopyFromTo (const NDArray &from, const NDArray *to, int priority=0) |
issue an copy operation from one NDArray to another the two ndarray can sit on different devices this operation will be scheduled by the engine More... | |
void | CopyFromTo (const NDArray &from, const NDArray &to, int priority=0, bool is_opr=false) |
issue an copy operation from one NDArray to another the two ndarray can sit on different devices this operation will be scheduled by the engine More... | |
void | ElementwiseSum (const std::vector< NDArray > &source, NDArray *out, int priority=0) |
Perform elementwise sum over each data from source, store result into out. More... | |
NDArray | operator+ (const NDArray &lhs, const NDArray &rhs) |
elementwise add More... | |
NDArray | operator+ (const NDArray &lhs, const real_t &rhs) |
elementwise add More... | |
NDArray | operator- (const NDArray &lhs, const NDArray &rhs) |
elementwise subtraction More... | |
NDArray | operator- (const NDArray &lhs, const real_t &rhs) |
elementwise subtraction More... | |
NDArray | operator* (const NDArray &lhs, const NDArray &rhs) |
elementwise multiplication More... | |
NDArray | operator* (const NDArray &lhs, const real_t &rhs) |
elementwise multiplication More... | |
NDArray | operator/ (const NDArray &lhs, const NDArray &rhs) |
elementwise division More... | |
NDArray | operator/ (const NDArray &lhs, const real_t &rhs) |
elementwise division More... | |
void | RandomSeed (uint32_t seed) |
Seed all random number generator in mxnet. More... | |
void | RandomSeed (Context ctx, uint32_t seed) |
Seed the random number generator of the device. More... | |
void | SampleUniform (real_t begin, real_t end, NDArray *out) |
Sample uniform distribution for each elements of out. More... | |
void | SampleGaussian (real_t mu, real_t sigma, NDArray *out) |
Sample gaussian distribution for each elements of out. More... | |
void | SampleGamma (real_t alpha, real_t beta, NDArray *out) |
Sample gamma distribution for each elements of out. More... | |
void | SampleExponential (real_t lambda, NDArray *out) |
Sample exponential distribution for each elements of out. More... | |
void | SamplePoisson (real_t lambda, NDArray *out) |
Sample Poisson distribution for each elements of out. More... | |
void | SampleNegBinomial (int32_t k, real_t p, NDArray *out) |
Sample negative binomial distribution for each elements of out. More... | |
void | SampleGenNegBinomial (real_t mu, real_t alpha, NDArray *out) |
Sample generalized negative binomial distribution for each elements of out. More... | |
Variables | |
constexpr const int | kCPU = kDLCPU |
constexpr const int | kGPU = kDLGPU |
constexpr const int | kTVMNDArrayTypeCode = 19 |
namespace of mxnet
Macros/inlines to assist CLion to parse Cuda files (*.cu, *.cuh)
When compiling a device function, check that the architecture is >= Kepler (3.0) Note that CUDA_ARCH is not defined outside of a device function
Copyright (c) 2015 by Contributors
typedef mshadow::cpu mxnet::cpu |
mxnet cpu
typedef std::function<IIterator<DataBatch> *()> mxnet::DataIteratorFactory |
typedef the factory function of data iterator
using mxnet::DispatchModeVector = typedef std::vector<DispatchMode> |
The result holder of dispatch mode of each Node in the graph.
using mxnet::FCompute = typedef std::function<void (const nnvm::NodeAttrs& attrs, const OpContext& ctx, const std::vector<TBlob>& inputs, const std::vector<OpReqType>& req, const std::vector<TBlob>& outputs)> |
Resiger a compute function for simple stateless forward only operator.
using mxnet::FComputeEx = typedef std::function<void (const nnvm::NodeAttrs& attrs, const OpContext& ctx, const std::vector<NDArray>& inputs, const std::vector<OpReqType>& req, const std::vector<NDArray>& outputs)> |
Resiger an NDArray compute function for simple stateless forward only operator.
using mxnet::FCreateOpState = typedef std::function<OpStatePtr (const NodeAttrs& attrs, Context ctx, const std::vector<TShape>& in_shape, const std::vector<int>& in_type)> |
Create a Layer style, forward/backward operator. This is easy to write code that contains state. OpStatePtr is a pointer type, it's content is mutable even if OpStatePtr is constant.
This is not the only way to register an op execution function. More simpler or specialized operator form can be registered
using mxnet::FExecType = typedef std::function<ExecType (const NodeAttrs& attrs)> |
Execution mode of this operator.
using mxnet::FInferStorageType = typedef std::function<bool (const NodeAttrs& attrs, const int dev_mask, DispatchMode* dispatch_mode, std::vector<int>* in_attrs, std::vector<int>* out_attrs)> |
Resiger a storage and dispatch mode inference function based on storage types of the inputs and outputs, and the dev_mask for the operator.
using mxnet::FNDArrayFunction = typedef std::function<void (const nnvm::NodeAttrs& attrs, const std::vector<NDArray>& inputs, std::vector<NDArray>* outputs)> |
Register an operator called as a NDArray function.
using mxnet::FNeedRequantize = typedef std::function<bool (const NodeAttrs& attrs)> |
Register a function to determine if the output of a quantized operator needs to be requantized. This is usually used for the operators taking int8 data types while accumulating in int32, e.g. quantized_conv.
using mxnet::FQuantizedOp = typedef std::function<nnvm::NodePtr (const NodeAttrs& attrs)> |
Register a quantized node creation function based on the attrs of the node.
using mxnet::FResourceRequest = typedef std::function< std::vector<ResourceRequest> (const NodeAttrs& n)> |
The resource request from the operator. An operator could register ResourceRequestEx, or ResourceRequest, or neither.
using mxnet::FResourceRequestEx = typedef std::function< std::vector<ResourceRequest> (const NodeAttrs& n, const int dev_mask, const DispatchMode dispatch_mode)> |
The resource request from the operator. An operator could register ResourceRequestEx, or ResourceRequest, or neither.
using mxnet::FStatefulCompute = typedef std::function<void (const OpStatePtr& state, const OpContext& ctx, const std::vector<TBlob>& inputs, const std::vector<OpReqType>& req, const std::vector<TBlob>& outputs)> |
Resiger a compute function for stateful operator. OpStatePtr is a pointer type, it's content is mutable even if OpStatePtr is constant.
using mxnet::FStatefulComputeEx = typedef std::function<void (const OpStatePtr& state, const OpContext& ctx, const std::vector<NDArray>& inputs, const std::vector<OpReqType>& req, const std::vector<NDArray>& outputs)> |
Resiger a compute function for stateful operator using NDArray interface. OpStatePtr is a pointer type, it's content is mutable even if OpStatePtr is constant.
typedef mshadow::gpu mxnet::gpu |
mxnet gpu
typedef mshadow::index_t mxnet::index_t |
index type usually use unsigned
typedef std::function<void (NDArray **used_vars, real_t *scalars, NDArray **mutate_vars, int num_params, char **param_keys, char **param_vals)> mxnet::NDArrayAPIFunction |
definition of NDArray function
using mxnet::Op = typedef nnvm::Op |
operator structure from NNVM
typedef std::function<OperatorProperty *()> mxnet::OperatorPropertyFactory |
typedef the factory function of operator property
typedef mshadow::default_real_t mxnet::real_t |
data type that will be used to store ndarray
using mxnet::StorageTypeVector = typedef std::vector<int> |
The result holder of storage type of each NodeEntry in the graph.
using mxnet::TShape = typedef nnvm::TShape |
Shape data structure used to record shape information.
|
strong |
|
strong |
the execution type of the operator
Enumerator | |
---|---|
kSync |
Forward/Backward are synchronous calls. |
kAsync |
Forward/Backward are asynchronous, will call OpContext.async_on_complete when operation finishes. |
kCrossDeviceCopy |
Cross device copy operation, this is a special operator that indicates it will copy across devices. For example the input and output for this type of operator can potentially reside on different devices. In the current implementation, a copy operator is specially handled by an executor. This flag is used for special case treatment and future extension of different copy ops. |
kSubgraphExec |
A subgraph execution should happen in the main thread, instead of in the execution engine. |
|
strong |
Function property, used to hint what action is pushed to engine.
|
strong |
enum to denote types of commands kvstore sends to server regarding profiler kSetConfig sets profiler configs. Similar to mx.profiler.set_config() kState allows changing state of profiler to stop or run kPause allows pausing and resuming of profiler kDump asks profiler to dump output
Enumerator | |
---|---|
kSetConfig | |
kState | |
kPause | |
kDump |
mask information on how functions can be exposed
Enumerator | |
---|---|
kNDArrayArgBeforeScalar |
all the use_vars should go before scalar |
kScalarArgBeforeNDArray |
all the scalar should go before use_vars |
kAcceptEmptyMutateTarget |
whether this function allows the handles in the target to be empty NDArray that are not yet initialized, and will initialize them when the function is invoked. most function should support this, except copy between different devices, which requires the NDArray to be pre-initialized with context |
enum mxnet::OpReqType |
issue an copy operation from one NDArray to another the two ndarray can sit on different devices this operation will be scheduled by the engine
from | the ndarray we want to copy data from |
to | the target ndarray |
priority | Priority of the action. |
void mxnet::CopyFromTo | ( | const NDArray & | from, |
const NDArray & | to, | ||
int | priority = 0 , |
||
bool | is_opr = false |
||
) |
issue an copy operation from one NDArray to another the two ndarray can sit on different devices this operation will be scheduled by the engine
from | the ndarray we want to copy data from |
to | the target ndarray |
priority | Priority of the action. |
is_opr | whether it is invoked by an operator. For example, false if invoked from KVStore, true if invoked from _copyto operator. |
void mxnet::ElementwiseSum | ( | const std::vector< NDArray > & | source, |
NDArray * | out, | ||
int | priority = 0 |
||
) |
Perform elementwise sum over each data from source, store result into out.
source | the ndarray we want to sum |
out | the target ndarray |
priority | Priority of the action. |
size_t mxnet::num_aux_data | ( | NDArrayStorageType | stype | ) |
elementwise multiplication
lhs | left operand |
rhs | right operand |
elementwise multiplication
lhs | left operand |
rhs | right operand |
elementwise add
lhs | left operand |
rhs | right operand |
elementwise add
lhs | left operand |
rhs | right operand |
elementwise subtraction
lhs | left operand |
rhs | right operand |
elementwise subtraction
lhs | left operand |
rhs | right operand |
elementwise division
lhs | left operand |
rhs | right operand |
elementwise division
lhs | left operand |
rhs | right operand |
void mxnet::RandomSeed | ( | uint32_t | seed | ) |
Seed all random number generator in mxnet.
seed | the seed to set to global random number generators. |
void mxnet::RandomSeed | ( | Context | ctx, |
uint32_t | seed | ||
) |
Seed the random number generator of the device.
seed | the seed to set to global random number generators. |
Sample exponential distribution for each elements of out.
lambda | parameter (rate) of the exponential distribution |
out | output NDArray. |
Sample gamma distribution for each elements of out.
alpha | parameter (shape) of the gamma distribution |
beta | parameter (scale) of the gamma distribution |
out | output NDArray. |
Sample gaussian distribution for each elements of out.
mu | mean of gaussian distribution. |
sigma | standard deviation of gaussian distribution. |
out | output NDArray. |
Sample generalized negative binomial distribution for each elements of out.
mu | parameter (mean) of the distribution |
alpha | parameter (over dispersion) of the distribution |
out | output NDArray. |
Sample negative binomial distribution for each elements of out.
k | failure limit |
p | success probability |
out | output NDArray. |
Sample Poisson distribution for each elements of out.
lambda | parameter (rate) of the Poisson distribution |
out | output NDArray. |
Sample uniform distribution for each elements of out.
begin | lower bound of distribution. |
end | upper bound of distribution. |
out | output NDArray. |
constexpr const int mxnet::kCPU = kDLCPU |
constexpr const int mxnet::kGPU = kDLGPU |
constexpr const int mxnet::kTVMNDArrayTypeCode = 19 |