.. currentmodule:: mxnet.symbol
This document lists the routines of the symbolic expression package:
.. autosummary:: :nosignatures: mxnet.symbol
The Symbol
API, defined in the symbol
(or simply sym
) package, provides neural network graphs and auto-differentiation. A symbol represents a multi-output symbolic expression. They are composited by operators, such as simple matrix operations (e.g. “+”), or a neural network layer (e.g. convolution layer). An operator can take several input variables, produce more than one output variables, and have internal state variables. A variable can be either free, which we can bind with value later, or an output of another symbol.
>>> a = mx.sym.Variable('a') >>> b = mx.sym.Variable('b') >>> c = 2 * a + b >>> type(c) <class 'mxnet.symbol.Symbol'> >>> e = c.bind(mx.cpu(), {'a': mx.nd.array([1,2]), 'b':mx.nd.array([2,3])}) >>> y = e.forward() >>> y [<NDArray 2 @cpu(0)>] >>> y[0].asnumpy() array([ 4., 7.], dtype=float32)
A detailed tutorial is available at Symbol - Neural network graphs and auto-differentiation.
.. note:: most operators provided in ``symbol`` are similar to those in ``ndarray`` although there are few differences: - ``symbol`` adopts declarative programming. In other words, we need to first compose the computations, and then feed it with data for execution whereas ndarray adopts imperative programming. - Most binary operators in ``symbol`` such as ``+`` and ``>`` don't broadcast. We need to call the broadcast version of the operator such as ``broadcast_plus`` explicitly.
In the rest of this document, we first overview the methods provided by the symbol.Symbol
class, and then list other routines provided by the symbol
package.
Symbol
classComposite multiple symbols into a new one by an operator.
.. autosummary:: :nosignatures: Symbol.__call__
.. autosummary:: :nosignatures: Symbol.__add__ Symbol.__sub__ Symbol.__rsub__ Symbol.__neg__ Symbol.__mul__ Symbol.__div__ Symbol.__rdiv__ Symbol.__mod__ Symbol.__rmod__ Symbol.__pow__
.. autosummary:: :nosignatures: Symbol.__lt__ Symbol.__le__ Symbol.__gt__ Symbol.__ge__ Symbol.__eq__ Symbol.__ne__
.. autosummary:: :nosignatures: Symbol.name Symbol.list_arguments Symbol.list_outputs Symbol.list_auxiliary_states Symbol.list_attr Symbol.attr Symbol.attr_dict
.. autosummary:: :nosignatures: Symbol.__getitem__ Symbol.__iter__ Symbol.get_internals Symbol.get_children
.. autosummary:: :nosignatures: Symbol.infer_type Symbol.infer_shape Symbol.infer_shape_partial
.. autosummary:: :nosignatures: Symbol.bind Symbol.simple_bind
.. autosummary:: :nosignatures: Symbol.save Symbol.tojson Symbol.debug_str
.. autosummary:: :nosignatures: var zeros ones arange
.. autosummary:: :nosignatures: cast reshape flatten expand_dims
.. autosummary:: :nosignatures: broadcast_to broadcast_axes repeat tile pad
.. autosummary:: :nosignatures: transpose swapaxes flip
.. autosummary:: :nosignatures: concat split
.. autosummary:: :nosignatures: slice slice_axis take batch_take one_hot
.. autosummary:: :nosignatures: broadcast_add broadcast_sub broadcast_mul broadcast_div broadcast_mod negative dot batch_dot add_n
.. autosummary:: :nosignatures: sin cos tan arcsin arccos arctan hypot broadcast_hypot degrees radians
.. autosummary:: :nosignatures: sinh cosh tanh arcsinh arccosh arctanh
.. autosummary:: :nosignatures: sum nansum prod nanprod mean max min norm
.. autosummary:: :nosignatures: round rint fix floor ceil trunc
.. autosummary:: :nosignatures: exp expm1 log log10 log2 log1p
.. autosummary:: :nosignatures: broadcast_power sqrt rsqrt square
.. autosummary:: :nosignatures: broadcast_equal broadcast_not_equal broadcast_greater broadcast_greater_equal broadcast_lesser broadcast_lesser_equal
.. autosummary:: :nosignatures: random_uniform random_normal random_gamma random_exponential random_poisson random_negative_binomial random_generalized_negative_binomial sample_uniform sample_normal sample_gamma sample_exponential sample_poisson sample_negative_binomial sample_generalized_negative_binomial mxnet.random.seed
.. autosummary:: :nosignatures: sort topk argsort argmax argmin
.. autosummary:: :nosignatures: linalg_gemm linalg_gemm2 linalg_potrf linalg_potri linalg_trmm linalg_trsm linalg_sumlogdiag
.. autosummary:: :nosignatures: maximum minimum broadcast_maximum broadcast_minimum clip abs sign gamma gammaln
.. autosummary:: :nosignatures: FullyConnected Convolution Activation BatchNorm Pooling SoftmaxOutput softmax log_softmax
.. autosummary:: :nosignatures: Correlation Deconvolution RNN Embedding LeakyReLU InstanceNorm L2Normalization LRN ROIPooling SoftmaxActivation Dropout BilinearSampler GridGenerator UpSampling SpatialTransformer LinearRegressionOutput LogisticRegressionOutput MAERegressionOutput SVMOutput softmax_cross_entropy smooth_l1 IdentityAttachKLSparseReg MakeLoss BlockGrad Custom
.. automodule:: mxnet.symbol :members: