.. 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.sin Symbol.cos Symbol.tan Symbol.arcsin Symbol.arccos Symbol.arctan Symbol.degrees Symbol.radians
.. autosummary:: :nosignatures: Symbol.sinh Symbol.cosh Symbol.tanh Symbol.arcsinh Symbol.arccosh Symbol.arctanh
.. autosummary:: :nosignatures: Symbol.exp Symbol.expm1 Symbol.log Symbol.log10 Symbol.log2 Symbol.log1p
.. autosummary:: :nosignatures: Symbol.sqrt Symbol.rsqrt Symbol.cbrt Symbol.rcbrt Symbol.square
.. autosummary:: :nosignatures: Symbol.relu Symbol.sigmoid Symbol.softmax Symbol.log_softmax
.. autosummary:: :nosignatures: Symbol.__lt__ Symbol.__le__ Symbol.__gt__ Symbol.__ge__ Symbol.__eq__ Symbol.__ne__
.. autosummary:: :nosignatures: Symbol.zeros_like Symbol.ones_like Symbol.diag
.. autosummary:: :nosignatures: Symbol.astype Symbol.shape_array Symbol.size_array Symbol.reshape Symbol.reshape_like Symbol.flatten Symbol.expand_dims
.. autosummary:: :nosignatures: Symbol.broadcast_to Symbol.broadcast_axes Symbol.broadcast_like Symbol.tile Symbol.pad
.. autosummary:: :nosignatures: Symbol.transpose Symbol.swapaxes Symbol.flip Symbol.depth_to_space Symbol.space_to_depth
.. autosummary:: :nosignatures: Symbol.sum Symbol.nansum Symbol.prod Symbol.nanprod Symbol.mean Symbol.max Symbol.min Symbol.norm
.. autosummary:: :nosignatures: Symbol.round Symbol.rint Symbol.fix Symbol.floor Symbol.ceil Symbol.trunc
.. autosummary:: :nosignatures: Symbol.sort Symbol.argsort Symbol.topk Symbol.argmax Symbol.argmin Symbol.argmax_channel
.. 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.slice Symbol.slice_axis Symbol.slice_like Symbol.take Symbol.one_hot Symbol.pick Symbol.ravel_multi_index Symbol.unravel_index
.. 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: Symbol.clip Symbol.sign
.. autosummary:: :nosignatures: var zeros zeros_like ones ones_like arange
.. autosummary:: :nosignatures: cast shape_array size_array reshape reshape_like flatten expand_dims diag
.. autosummary:: :nosignatures: broadcast_to broadcast_axes broadcast_like repeat tile pad
.. autosummary:: :nosignatures: transpose swapaxes flip depth_to_space space_to_depth
.. autosummary:: :nosignatures: concat split stack
.. autosummary:: :nosignatures: slice slice_axis slice_like take batch_take one_hot pick where gather_nd scatter_nd
.. 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 cbrt rcbrt square reciprocal
.. autosummary:: :nosignatures: broadcast_equal broadcast_not_equal broadcast_greater broadcast_greater_equal broadcast_lesser broadcast_lesser_equal
.. autosummary:: :nosignatures: broadcast_logical_and broadcast_logical_or broadcast_logical_xor broadcast_logical_not
.. autosummary:: :nosignatures: mxnet.symbol.random.uniform mxnet.symbol.random.normal mxnet.symbol.random.gamma mxnet.symbol.random.exponential mxnet.symbol.random.poisson mxnet.symbol.random.negative_binomial mxnet.symbol.random.generalized_negative_binomial mxnet.symbol.random.multinomial mxnet.symbol.random.shuffle mxnet.random.seed
.. autosummary:: :nosignatures: sort topk argsort argmax argmin
.. autosummary:: :nosignatures: SequenceLast SequenceMask SequenceReverse
.. autosummary:: :nosignatures: maximum minimum broadcast_maximum broadcast_minimum clip abs sign gamma gammaln
.. autosummary:: :nosignatures: FullyConnected Convolution Activation BatchNorm Pooling SoftmaxOutput softmax log_softmax relu sigmoid
.. autosummary:: :nosignatures: Correlation Deconvolution RNN Embedding LeakyReLU InstanceNorm LayerNorm L2Normalization LRN ROIPooling SoftmaxActivation Dropout BilinearSampler GridGenerator UpSampling SpatialTransformer LinearRegressionOutput LogisticRegressionOutput MAERegressionOutput SVMOutput softmax_cross_entropy smooth_l1 IdentityAttachKLSparseReg MakeLoss BlockGrad Custom
.. autoclass:: mxnet.symbol.Symbol :members: :special-members: .. automodule:: mxnet.symbol :members: :imported-members: :special-members: :exclude-members: Symbol .. automodule:: mxnet.symbol.random :members: