Sparse Symbol API¶
Overview¶
This document lists the routines of the sparse symbolic expression package:
mxnet.symbol.sparse |
Sparse Symbol API of MXNet. |
The Sparse Symbol API, defined in the symbol.sparse package, provides
sparse neural network graphs and auto-differentiation on CPU.
The storage type of a variable is speficied by the stype attribute of the variable.
The storage type of a symbolic expression is inferred based on the storage types of the variables and the operators.
>>> a = mx.sym.Variable('a', stype='csr')
>>> b = mx.sym.Variable('b')
>>> c = mx.sym.dot(a, b, transpose_a=True)
>>> type(c)
>>> e = c.bind(mx.cpu(), {'a': mx.nd.array([[1,0,0]]).tostype('csr'), 'b':mx.nd.ones((1,2))})
>>> y = e.forward()
# the result storage type of dot(csr.T, dense) is inferred to be `row_sparse`
>>> y
[]
>>> y[0].asnumpy()
array([ 1., 1.],
[ 0., 0.],
[ 0., 0.]], dtype=float32)
Note
most operators provided in mxnet.symbol.sparse are similar to those in
mxnet.symbol although there are few differences:
- Only a subset of operators in
mxnet.symbolhave specialized implementations inmxnet.symbol.sparse. Operators such as reduction and broadcasting do not have sparse implementations yet. - The storage types (
stype) of sparse operators’ outputs depend on the storage types of inputs. By default the operators not available inmxnet.symbol.sparseinfer “default” (dense) storage type for outputs. Please refer to the API reference section for further details on specific operators. - GPU support for
mxnet.symbol.sparseis experimental.
In the rest of this document, we list sparse related routines provided by the
symbol.sparse package.
Symbol creation routines¶
zeros_like |
Return an array of zeros with the same shape and type as the input array. |
mxnet.symbol.var |
Creates a symbolic variable with specified name. |
Symbol manipulation routines¶
Changing symbol storage type¶
cast_storage |
Casts tensor storage type to the new type. |
Mathematical functions¶
Arithmetic operations¶
elemwise_add |
Adds arguments element-wise. |
dot |
Dot product of two arrays. |
add_n |
Adds all input arguments element-wise. |
API Reference¶
Sparse Symbol API of MXNet.
-
mxnet.symbol.sparse.ElementWiseSum(*args, **kwargs)¶ Adds all input arguments element-wise.
\[add\_n(a_1, a_2, ..., a_n) = a_1 + a_2 + ... + a_n\]add_nis potentially more efficient than callingaddby n times.The storage type of
add_noutput depends on storage types of inputs- add_n(row_sparse, row_sparse, ..) = row_sparse
- otherwise,
add_ngenerates output with default storage
Defined in src/operator/tensor/elemwise_sum.cc:L122 This function support variable length of positional input.
Parameters: - args (Symbol[]) – Positional input arguments
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.abs(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise absolute value of the input.
Example:
abs([-2, 0, 3]) = [2, 0, 3]
The storage type of
absoutput depends upon the input storage type:- abs(default) = default
- abs(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L334
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.add_n(*args, **kwargs)¶ Adds all input arguments element-wise.
\[add\_n(a_1, a_2, ..., a_n) = a_1 + a_2 + ... + a_n\]add_nis potentially more efficient than callingaddby n times.The storage type of
add_noutput depends on storage types of inputs- add_n(row_sparse, row_sparse, ..) = row_sparse
- otherwise,
add_ngenerates output with default storage
Defined in src/operator/tensor/elemwise_sum.cc:L122 This function support variable length of positional input.
Parameters: - args (Symbol[]) – Positional input arguments
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.arccos(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise inverse cosine of the input array.
The input should be in range [-1, 1]. The output is in the closed interval \([0, \pi]\)
\[arccos([-1, -.707, 0, .707, 1]) = [\pi, 3\pi/4, \pi/2, \pi/4, 0]\]The storage type of
arccosoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L753
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.arccosh(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the element-wise inverse hyperbolic cosine of the input array, computed element-wise.
The storage type of
arccoshoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L894
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.arcsin(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise inverse sine of the input array.
The input should be in the range [-1, 1]. The output is in the closed interval of [\(-\pi/2\), \(\pi/2\)].
\[arcsin([-1, -.707, 0, .707, 1]) = [-\pi/2, -\pi/4, 0, \pi/4, \pi/2]\]The storage type of
arcsinoutput depends upon the input storage type:- arcsin(default) = default
- arcsin(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L734
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.arcsinh(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the element-wise inverse hyperbolic sine of the input array, computed element-wise.
The storage type of
arcsinhoutput depends upon the input storage type:- arcsinh(default) = default
- arcsinh(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L880
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.arctan(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise inverse tangent of the input array.
The output is in the closed interval \([-\pi/2, \pi/2]\)
\[arctan([-1, 0, 1]) = [-\pi/4, 0, \pi/4]\]The storage type of
arctanoutput depends upon the input storage type:- arctan(default) = default
- arctan(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L774
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.arctanh(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the element-wise inverse hyperbolic tangent of the input array, computed element-wise.
The storage type of
arctanhoutput depends upon the input storage type:- arctanh(default) = default
- arctanh(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L911
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.cast_storage(data=None, stype=_Null, name=None, attr=None, out=None, **kwargs)¶ Casts tensor storage type to the new type.
When an NDArray with default storage type is cast to csr or row_sparse storage, the result is compact, which means:
- for csr, zero values will not be retained
- for row_sparse, row slices of all zeros will not be retained
The storage type of
cast_storageoutput depends on stype parameter:- cast_storage(csr, ‘default’) = default
- cast_storage(row_sparse, ‘default’) = default
- cast_storage(default, ‘csr’) = csr
- cast_storage(default, ‘row_sparse’) = row_sparse
Example:
dense = [[ 0., 1., 0.], [ 2., 0., 3.], [ 0., 0., 0.], [ 0., 0., 0.]] # cast to row_sparse storage type rsp = cast_storage(default, 'row_sparse') rsp.indices = [0, 1] rsp.values = [[ 0., 1., 0.], [ 2., 0., 3.]] # cast to csr storage type csr = cast_storage(default, 'csr') csr.indices = [1, 0, 2] csr.values = [ 1., 2., 3.] csr.indptr = [0, 1, 3, 3, 3]
Defined in src/operator/tensor/cast_storage.cc:L69
Parameters: - data (Symbol) – The input.
- stype ({'csr', 'default', 'row_sparse'}, required) – Output storage type.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.ceil(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise ceiling of the input.
The ceil of the scalar x is the smallest integer i, such that i >= x.
Example:
ceil([-2.1, -1.9, 1.5, 1.9, 2.1]) = [-2., -1., 2., 2., 3.]
The storage type of
ceiloutput depends upon the input storage type:- ceil(default) = default
- ceil(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L411
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.cos(data=None, name=None, attr=None, out=None, **kwargs)¶ Computes the element-wise cosine of the input array.
The input should be in radians (\(2\pi\) rad equals 360 degrees).
\[cos([0, \pi/4, \pi/2]) = [1, 0.707, 0]\]The storage type of
cosoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L693
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.cosh(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the hyperbolic cosine of the input array, computed element-wise.
\[cosh(x) = 0.5\times(exp(x) + exp(-x))\]The storage type of
coshoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L846
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.degrees(data=None, name=None, attr=None, out=None, **kwargs)¶ Converts each element of the input array from radians to degrees.
\[degrees([0, \pi/2, \pi, 3\pi/2, 2\pi]) = [0, 90, 180, 270, 360]\]The storage type of
degreesoutput depends upon the input storage type:- degrees(default) = default
- degrees(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L793
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.dot(lhs=None, rhs=None, transpose_a=_Null, transpose_b=_Null, name=None, attr=None, out=None, **kwargs)¶ Dot product of two arrays.
dot‘s behavior depends on the input array dimensions:1-D arrays: inner product of vectors
2-D arrays: matrix multiplication
N-D arrays: a sum product over the last axis of the first input and the first axis of the second input
For example, given 3-D
xwith shape (n,m,k) andywith shape (k,r,s), the result array will have shape (n,m,r,s). It is computed by:dot(x,y)[i,j,a,b] = sum(x[i,j,:]*y[:,a,b])
Example:
x = reshape([0,1,2,3,4,5,6,7], shape=(2,2,2)) y = reshape([7,6,5,4,3,2,1,0], shape=(2,2,2)) dot(x,y)[0,0,1,1] = 0 sum(x[0,0,:]*y[:,1,1]) = 0
The storage type of
dotoutput depends on storage types of inputs and transpose options:- dot(csr, default) = default
- dot(csr.T, default) = row_sparse
- dot(csr, row_sparse) = default
- otherwise,
dotgenerates output with default storage
Defined in src/operator/tensor/dot.cc:L61
Parameters: - lhs (Symbol) – The first input
- rhs (Symbol) – The second input
- transpose_a (boolean, optional, default=False) – If true then transpose the first input before dot.
- transpose_b (boolean, optional, default=False) – If true then transpose the second input before dot.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.elemwise_add(lhs=None, rhs=None, name=None, attr=None, out=None, **kwargs)¶ Adds arguments element-wise.
The storage type of
elemwise_addoutput depends on storage types of inputs- elemwise_add(row_sparse, row_sparse) = row_sparse
- otherwise,
elemwise_addgenerates output with default storage
Parameters: Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.elemwise_div(lhs=None, rhs=None, name=None, attr=None, out=None, **kwargs)¶ Divides arguments element-wise.
The storage type of
elemwise_devoutput is always denseParameters: Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.elemwise_mul(lhs=None, rhs=None, name=None, attr=None, out=None, **kwargs)¶ Multiplies arguments element-wise.
The storage type of
elemwise_muloutput depends on storage types of inputs- elemwise_mul(default, default) = default
- elemwise_mul(row_sparse, row_sparse) = row_sparse
- elemwise_mul(default, row_sparse) = row_sparse
- elemwise_mul(row_sparse, default) = row_sparse
- otherwise,
elemwise_mulgenerates output with default storage
Parameters: Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.elemwise_sub(lhs=None, rhs=None, name=None, attr=None, out=None, **kwargs)¶ Subtracts arguments element-wise.
The storage type of
elemwise_suboutput depends on storage types of inputs- elemwise_sub(row_sparse, row_sparse) = row_sparse
- otherwise,
elemwise_addgenerates output with default storage
Parameters: Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.exp(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise exponential value of the input.
\[exp(x) = e^x \approx 2.718^x\]Example:
exp([0, 1, 2]) = [1., 2.71828175, 7.38905621]
The storage type of
expoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L584
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.expm1(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns
exp(x) - 1computed element-wise on the input.This function provides greater precision than
exp(x) - 1for small values ofx.The storage type of
expm1output depends upon the input storage type:- expm1(default) = default
- expm1(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L676
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.fix(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise rounded value to the nearest integer towards zero of the input.
Example:
fix([-2.1, -1.9, 1.9, 2.1]) = [-2., -1., 1., 2.]
The storage type of
fixoutput depends upon the input storage type:- fix(default) = default
- fix(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L465
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.floor(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise floor of the input.
The floor of the scalar x is the largest integer i, such that i <= x.
Example:
floor([-2.1, -1.9, 1.5, 1.9, 2.1]) = [-3., -2., 1., 1., 2.]
The storage type of
flooroutput depends upon the input storage type:- floor(default) = default
- floor(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L429
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.gamma(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the gamma function (extension of the factorial function to the reals), computed element-wise on the input array.
The storage type of
gammaoutput is always denseParameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.gammaln(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise log of the absolute value of the gamma function of the input.
The storage type of
gammalnoutput is always denseParameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.log(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise Natural logarithmic value of the input.
The natural logarithm is logarithm in base e, so that
log(exp(x)) = xThe storage type of
logoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L596
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.log10(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise Base-10 logarithmic value of the input.
10**log10(x) = xThe storage type of
log10output is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L608
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.log1p(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise
log(1 + x)value of the input.This function is more accurate than
log(1 + x)for smallxso that \(1+x\approx 1\)The storage type of
log1poutput depends upon the input storage type:- log1p(default) = default
- log1p(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L658
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.log2(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise Base-2 logarithmic value of the input.
2**log2(x) = xThe storage type of
log2output is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L620
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.make_loss(data=None, name=None, attr=None, out=None, **kwargs)¶ Stops gradient computation. .. note::
make_lossis deprecated, useMakeLoss.The storage type of
make_lossoutput depends upon the input storage type:- make_loss(default) = default
- make_loss(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L148
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.negative(data=None, name=None, attr=None, out=None, **kwargs)¶ Numerical negative of the argument, element-wise.
The storage type of
negativeoutput depends upon the input storage type:- negative(default) = default
- negative(row_sparse) = row_sparse
- negative(csr) = csr
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.radians(data=None, name=None, attr=None, out=None, **kwargs)¶ Converts each element of the input array from degrees to radians.
\[radians([0, 90, 180, 270, 360]) = [0, \pi/2, \pi, 3\pi/2, 2\pi]\]The storage type of
radiansoutput depends upon the input storage type:- radians(default) = default
- radians(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L812
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.relu(data=None, name=None, attr=None, out=None, **kwargs)¶ Computes rectified linear.
\[max(features, 0)\]The storage type of
reluoutput depends upon the input storage type:- relu(default) = default
- relu(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L44
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.retain(data=None, indices=None, name=None, attr=None, out=None, **kwargs)¶ pick rows specified by user input index array from a row sparse matrix and save them in the output sparse matrix.
Example:
data = [[1, 2], [3, 4], [5, 6]] indices = [0, 1, 3] shape = (4, 2) rsp_in = row_sparse(data, indices) to_retain = [0, 3] rsp_out = retain(rsp_in, to_retain) rsp_out.values = [[1, 2], [5, 6]] rsp_out.indices = [0, 3]
The storage type of
retainoutput depends on storage types of inputs- retain(row_sparse, default) = row_sparse
- otherwise,
retainis not supported
Defined in src/operator/tensor/sparse_retain.cc:L53
Parameters: Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.rint(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise rounded value to the nearest integer of the input.
Note
- For input
n.5rintreturnsnwhileroundreturnsn+1. - For input
-n.5bothrintandroundreturns-n-1.
Example:
rint([-1.5, 1.5, -1.9, 1.9, 2.1]) = [-2., 1., -2., 2., 2.]
The storage type of
rintoutput depends upon the input storage type:- rint(default) = default
- rint(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L393
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type: - For input
-
mxnet.symbol.sparse.round(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise rounded value to the nearest integer of the input.
Example:
round([-1.5, 1.5, -1.9, 1.9, 2.1]) = [-2., 2., -2., 2., 2.]
The storage type of
roundoutput depends upon the input storage type:- round(default) = default
- round(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L372
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.rsqrt(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise inverse square-root value of the input.
\[rsqrt(x) = 1/\sqrt{x}\]Example:
rsqrt([4,9,16]) = [0.5, 0.33333334, 0.25]
The storage type of
rsqrtoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L528
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.sigmoid(data=None, name=None, attr=None, out=None, **kwargs)¶ Computes sigmoid of x element-wise.
\[y = 1 / (1 + exp(-x))\]The storage type of
sigmoidoutput is always denseDefined in src/operator/tensor/elemwise_unary_op.cc:L64
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.sign(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise sign of the input.
Example:
sign([-2, 0, 3]) = [-1, 0, 1]
The storage type of
signoutput depends upon the input storage type:- sign(default) = default
- sign(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L353
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.sin(data=None, name=None, attr=None, out=None, **kwargs)¶ Computes the element-wise sine of the input array.
The input should be in radians (\(2\pi\) rad equals 360 degrees).
\[sin([0, \pi/4, \pi/2]) = [0, 0.707, 1]\]The storage type of
sinoutput depends upon the input storage type:- sin(default) = default
- sin(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L640
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.sinh(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the hyperbolic sine of the input array, computed element-wise.
\[sinh(x) = 0.5\times(exp(x) - exp(-x))\]The storage type of
sinhoutput depends upon the input storage type:- sinh(default) = default
- sinh(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L831
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.slice(data=None, begin=_Null, end=_Null, name=None, attr=None, out=None, **kwargs)¶ Slices a contiguous region of the array.
Note
cropis deprecated. Usesliceinstead.This function returns a sliced continuous region of the array between the indices given by begin and end.
For an input array of n dimensions, slice operation with
begin=(b_0, b_1...b_n-1)indices andend=(e_1, e_2, ... e_n)indices will result in an array with the shape(e_1-b_0, ..., e_n-b_n-1).The resulting array’s k-th dimension contains elements from the k-th dimension of the input array with the open range
[b_k, e_k).For an input array of non-default storage type(e.g. csr or row_sparse), it only supports slicing on the first dimension.
Example:
x = [[ 1., 2., 3., 4.], [ 5., 6., 7., 8.], [ 9., 10., 11., 12.]] slice(x, begin=(0,1), end=(2,4)) = [[ 2., 3., 4.], [ 6., 7., 8.]]
Defined in src/operator/tensor/matrix_op.cc:L278
Parameters: - data (Symbol) – Source input
- begin (Shape(tuple), required) – starting indices for the slice operation, supports negative indices.
- end (Shape(tuple), required) – ending indices for the slice operation, supports negative indices.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.sqrt(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise square-root value of the input.
\[\textrm{sqrt}(x) = \sqrt{x}\]Example:
sqrt([4, 9, 16]) = [2, 3, 4]
The storage type of
sqrtoutput depends upon the input storage type:- sqrt(default) = default
- sqrt(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L508
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.square(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns element-wise squared value of the input.
\[square(x) = x^2\]Example:
square([2, 3, 4]) = [4, 9, 16]
The storage type of
squareoutput depends upon the input storage type:- square(default) = default
- square(row_sparse) = row_sparse
- square(csr) = csr
Defined in src/operator/tensor/elemwise_unary_op.cc:L485
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.stop_gradient(data=None, name=None, attr=None, out=None, **kwargs)¶ Stops gradient computation.
Stops the accumulated gradient of the inputs from flowing through this operator in the backward direction. In other words, this operator prevents the contribution of its inputs to be taken into account for computing gradients.
Example:
v1 = [1, 2] v2 = [0, 1] a = Variable('a') b = Variable('b') b_stop_grad = stop_gradient(3 * b) loss = MakeLoss(b_stop_grad + a) executor = loss.simple_bind(ctx=cpu(), a=(1,2), b=(1,2)) executor.forward(is_train=True, a=v1, b=v2) executor.outputs [ 1. 5.] executor.backward() executor.grad_arrays [ 0. 0.] [ 1. 1.]Defined in src/operator/tensor/elemwise_unary_op.cc:L128
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.tan(data=None, name=None, attr=None, out=None, **kwargs)¶ Computes the element-wise tangent of the input array.
The input should be in radians (\(2\pi\) rad equals 360 degrees).
\[tan([0, \pi/4, \pi/2]) = [0, 1, -inf]\]The storage type of
tanoutput depends upon the input storage type:- tan(default) = default
- tan(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L713
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.tanh(data=None, name=None, attr=None, out=None, **kwargs)¶ Returns the hyperbolic tangent of the input array, computed element-wise.
\[tanh(x) = sinh(x) / cosh(x)\]The storage type of
tanhoutput depends upon the input storage type:- tanh(default) = default
- tanh(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L864
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.trunc(data=None, name=None, attr=None, out=None, **kwargs)¶ Return the element-wise truncated value of the input.
The truncated value of the scalar x is the nearest integer i which is closer to zero than x is. In short, the fractional part of the signed number x is discarded.
Example:
trunc([-2.1, -1.9, 1.5, 1.9, 2.1]) = [-2., -1., 1., 1., 2.]
The storage type of
truncoutput depends upon the input storage type:- trunc(default) = default
- trunc(row_sparse) = row_sparse
Defined in src/operator/tensor/elemwise_unary_op.cc:L448
Parameters: - data (Symbol) – The input array.
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
-
mxnet.symbol.sparse.zeros_like(data=None, name=None, attr=None, out=None, **kwargs)¶ Return an array of zeros with the same shape and type as the input array.
The storage type of
zeros_likeoutput depends on the storage type of the input- zeros_like(row_sparse) = row_sparse
- zeros_like(csr) = csr
- zeros_like(default) = default
Examples:
x = [[ 1., 1., 1.], [ 1., 1., 1.]] zeros_like(x) = [[ 0., 0., 0.], [ 0., 0., 0.]]
Parameters: - data (Symbol) – The input
- name (string, optional.) – Name of the resulting symbol.
Returns: The result symbol.
Return type:
