<!DOCTYPE html >
<html>
        <head>
          <title>SymbolAPI - MXNet - org.apache.mxnet.SymbolAPI</title>
          <meta name="description" content="SymbolAPI - MXNet - org.apache.mxnet.SymbolAPI" />
          <meta name="keywords" content="SymbolAPI MXNet org.apache.mxnet.SymbolAPI" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link href="../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
      <script type="text/javascript" src="../../../lib/jquery.js" id="jquery-js"></script>
      <script type="text/javascript" src="../../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../../lib/template.js"></script>
      <script type="text/javascript" src="../../../lib/tools.tooltip.js"></script>
      
      <script type="text/javascript">
         if(top === self) {
            var url = '../../../index.html';
            var hash = 'org.apache.mxnet.SymbolAPI$';
            var anchor = window.location.hash;
            var anchor_opt = '';
            if (anchor.length >= 1)
              anchor_opt = '@' + anchor.substring(1);
            window.location.href = url + '#' + hash + anchor_opt;
         }
   	  </script>
    
        </head>
        <body class="value">
      <div id="definition">
        <img src="../../../lib/object_big.png" />
        <p id="owner"><a href="../../package.html" class="extype" name="org">org</a>.<a href="../package.html" class="extype" name="org.apache">apache</a>.<a href="package.html" class="extype" name="org.apache.mxnet">mxnet</a></p>
        <h1>SymbolAPI</h1><h3><span class="morelinks"><div>Related Doc:
            <a href="package.html" class="extype" name="org.apache.mxnet">package mxnet</a>
          </div></span></h3><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <span class="name">SymbolAPI</span><span class="result"> extends <a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p>typesafe Symbol API: Symbol.api._
Main code will be generated during compile time through Macros
</p></div><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@AddSymbolAPIs</span><span class="args">(<span>
      
      <span class="symbol">false</span>
    </span>)</span>
              
        </dd></dl><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a>, <span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div></div>
        

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol>
                
                <li class="alpha in"><span>Alphabetic</span></li>
                <li class="inherit out"><span>By inheritance</span></li>
              </ol>
            </div>
        <div id="ancestors">
                <span class="filtertype">Inherited<br />
                </span>
                <ol id="linearization">
                  <li class="in" name="org.apache.mxnet.SymbolAPI"><span>SymbolAPI</span></li><li class="in" name="org.apache.mxnet.SymbolAPIBase"><span>SymbolAPIBase</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
                </ol>
              </div><div id="ancestors">
            <span class="filtertype"></span>
            <ol>
              <li class="hideall out"><span>Hide All</span></li>
              <li class="showall in"><span>Show all</span></li>
            </ol>
            <a href="http://docs.scala-lang.org/overviews/scaladoc/usage.html#members" target="_blank">Learn more about member selection</a>
          </div>
        <div id="visbl">
            <span class="filtertype">Visibility</span>
            <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
          </div>
      </div>

      <div id="template">
        <div id="allMembers">
        

        

        <div id="values" class="values members">
              <h3>Abstract Value Members</h3>
              <ol><li name="org.apache.mxnet.SymbolAPIBase#Activation" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Activation(data:Option[org.apache.mxnet.Symbol],act_type:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Activation(Option[Symbol],String,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Activation</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="act_type">act_type: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Activation(data:Option[org.apache.mxnet.Symbol],act_type:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies an activation function element-wise to the input.

The following activation functions are supported:

- `relu`: Rectified Linear <span class="std">Unit</span>, :math:`y = max(x, <span class="num">0</span>)`
- `sigmoid`: :math:`y = \frac{<span class="num">1</span>}{<span class="num">1</span> + exp(-x)}`
- `tanh`: Hyperbolic tangent, :math:`y = \frac{exp(x) - exp(-x)}{exp(x) + exp(-x)}`
- `softrelu`: Soft ReLU, or SoftPlus, :math:`y = log(<span class="num">1</span> + exp(x))`
- `softsign`: :math:`y = \frac{x}{<span class="num">1</span> + abs(x)}`



Defined in src/operator/nn/activation.cc:L168</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">act_type</dt><dd class="cmt"><p>Activation function to be applied.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#BatchNorm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="BatchNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],moving_mean:Option[org.apache.mxnet.Symbol],moving_var:Option[org.apache.mxnet.Symbol],eps:Option[Double],momentum:Option[Float],fix_gamma:Option[Boolean],use_global_stats:Option[Boolean],output_mean_var:Option[Boolean],axis:Option[Int],cudnn_off:Option[Boolean],min_calib_range:Option[Float],max_calib_range:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="BatchNorm(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Double],Option[Float],Option[Boolean],Option[Boolean],Option[Boolean],Option[Int],Option[Boolean],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">BatchNorm</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="gamma">gamma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="moving_mean">moving_mean: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="moving_var">moving_var: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="eps">eps: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="fix_gamma">fix_gamma: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_global_stats">use_global_stats: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="output_mean_var">output_mean_var: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="min_calib_range">min_calib_range: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="max_calib_range">max_calib_range: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@BatchNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],moving_mean:Option[org.apache.mxnet.Symbol],moving_var:Option[org.apache.mxnet.Symbol],eps:Option[Double],momentum:Option[Float],fix_gamma:Option[Boolean],use_global_stats:Option[Boolean],output_mean_var:Option[Boolean],axis:Option[Int],cudnn_off:Option[Boolean],min_calib_range:Option[Float],max_calib_range:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Batch normalization.

Normalizes a data batch by mean and variance, and applies a scale ``gamma`` as
well as offset ``beta``.

Assume the input has more than one dimension and we normalize along axis <span class="num">1.</span>
We first compute the mean and variance along <span class="kw">this</span> axis:

.. math::

  data\_mean[i] = mean(data[:,i,:,...]) \\
  data\_var[i] = <span class="kw">var</span>(data[:,i,:,...])

Then compute the normalized output, which has the same shape as input, as following:

.. math::

  out[:,i,:,...] = \frac{data[:,i,:,...] - data\_mean[i]}{\sqrt{data\_var[i]+\epsilon}} * gamma[i] + beta[i]

Both *mean* and *<span class="kw">var</span>* returns a scalar by treating the input as a vector.

Assume the input has size *k* on axis <span class="num">1</span>, then both ``gamma`` and ``beta``
have shape *(k,)*. If ``output_mean_var`` is set to be <span class="kw">true</span>, then outputs both ``data_mean`` and
the inverse of ``data_var``, which are needed <span class="kw">for</span> the backward pass. Note that gradient of these
two outputs are blocked.

Besides the inputs and the outputs, <span class="kw">this</span> operator accepts two auxiliary
states, ``moving_mean`` and ``moving_var``, which are *k*-length
vectors. They are global statistics <span class="kw">for</span> the whole dataset, which are updated
by::

  moving_mean = moving_mean * momentum + data_mean * (<span class="num">1</span> - momentum)
  moving_var = moving_var * momentum + data_var * (<span class="num">1</span> - momentum)

If ``use_global_stats`` is set to be <span class="kw">true</span>, then ``moving_mean`` and
``moving_var`` are used instead of ``data_mean`` and ``data_var`` to compute
the output. It is often used during inference.

The parameter ``axis`` specifies which axis of the input shape denotes
the 'channel' (separately normalized groups).  The default is <span class="num">1.</span>  Specifying -<span class="num">1</span> sets the channel
axis to be the last item in the input shape.

Both ``gamma`` and ``beta`` are learnable parameters. But <span class="kw">if</span> ``fix_gamma`` is <span class="kw">true</span>,
then set ``gamma`` to <span class="num">1</span> and its gradient to <span class="num">0.</span>

.. Note::
  When ``fix_gamma`` is set to True, no sparse support is provided. If ``fix_gamma is`` set to False,
  the sparse tensors will fallback.



Defined in src/operator/nn/batch_norm.cc:L571</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to batch normalization</p></dd><dt class="param">gamma</dt><dd class="cmt"><p>gamma array</p></dd><dt class="param">beta</dt><dd class="cmt"><p>beta array</p></dd><dt class="param">moving_mean</dt><dd class="cmt"><p>running mean of input</p></dd><dt class="param">moving_var</dt><dd class="cmt"><p>running variance of input</p></dd><dt class="param">eps</dt><dd class="cmt"><p>Epsilon to prevent div 0. Must be no less than CUDNN_BN_MIN_EPSILON defined in cudnn.h when using cudnn (usually 1e-5)</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>Momentum for moving average</p></dd><dt class="param">fix_gamma</dt><dd class="cmt"><p>Fix gamma while training</p></dd><dt class="param">use_global_stats</dt><dd class="cmt"><p>Whether use global moving statistics instead of local batch-norm. This will force change batch-norm into a scale shift operator.</p></dd><dt class="param">output_mean_var</dt><dd class="cmt"><p>Output the mean and inverse std</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Specify which shape axis the channel is specified</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>Do not select CUDNN operator, if available</p></dd><dt class="param">min_calib_range</dt><dd class="cmt"><p>The minimum scalar value in the form of float32 obtained through calibration. If present, it will be used to by quantized batch norm op to calculate primitive scale.Note: this calib_range is to calib bn output.</p></dd><dt class="param">max_calib_range</dt><dd class="cmt"><p>The maximum scalar value in the form of float32 obtained through calibration. If present, it will be used to by quantized batch norm op to calculate primitive scale.Note: this calib_range is to calib bn output.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#BatchNorm_v1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="BatchNorm_v1(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],eps:Option[Float],momentum:Option[Float],fix_gamma:Option[Boolean],use_global_stats:Option[Boolean],output_mean_var:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="BatchNorm_v1(Option[Symbol],Option[Symbol],Option[Symbol],Option[Float],Option[Float],Option[Boolean],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">BatchNorm_v1</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="gamma">gamma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="eps">eps: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="fix_gamma">fix_gamma: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_global_stats">use_global_stats: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="output_mean_var">output_mean_var: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@BatchNorm_v1(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],eps:Option[Float],momentum:Option[Float],fix_gamma:Option[Boolean],use_global_stats:Option[Boolean],output_mean_var:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Batch normalization.

This operator is DEPRECATED. Perform BatchNorm on the input.

Normalizes a data batch by mean and variance, and applies a scale ``gamma`` as
well as offset ``beta``.

Assume the input has more than one dimension and we normalize along axis <span class="num">1.</span>
We first compute the mean and variance along <span class="kw">this</span> axis:

.. math::

  data\_mean[i] = mean(data[:,i,:,...]) \\
  data\_var[i] = <span class="kw">var</span>(data[:,i,:,...])

Then compute the normalized output, which has the same shape as input, as following:

.. math::

  out[:,i,:,...] = \frac{data[:,i,:,...] - data\_mean[i]}{\sqrt{data\_var[i]+\epsilon}} * gamma[i] + beta[i]

Both *mean* and *<span class="kw">var</span>* returns a scalar by treating the input as a vector.

Assume the input has size *k* on axis <span class="num">1</span>, then both ``gamma`` and ``beta``
have shape *(k,)*. If ``output_mean_var`` is set to be <span class="kw">true</span>, then outputs both ``data_mean`` and
``data_var`` as well, which are needed <span class="kw">for</span> the backward pass.

Besides the inputs and the outputs, <span class="kw">this</span> operator accepts two auxiliary
states, ``moving_mean`` and ``moving_var``, which are *k*-length
vectors. They are global statistics <span class="kw">for</span> the whole dataset, which are updated
by::

  moving_mean = moving_mean * momentum + data_mean * (<span class="num">1</span> - momentum)
  moving_var = moving_var * momentum + data_var * (<span class="num">1</span> - momentum)

If ``use_global_stats`` is set to be <span class="kw">true</span>, then ``moving_mean`` and
``moving_var`` are used instead of ``data_mean`` and ``data_var`` to compute
the output. It is often used during inference.

Both ``gamma`` and ``beta`` are learnable parameters. But <span class="kw">if</span> ``fix_gamma`` is <span class="kw">true</span>,
then set ``gamma`` to <span class="num">1</span> and its gradient to <span class="num">0.</span>

There's no sparse support <span class="kw">for</span> <span class="kw">this</span> operator, and it will exhibit problematic behavior <span class="kw">if</span> used <span class="kw">with</span>
sparse tensors.



Defined in src/operator/batch_norm_v1.cc:L95</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to batch normalization</p></dd><dt class="param">gamma</dt><dd class="cmt"><p>gamma array</p></dd><dt class="param">beta</dt><dd class="cmt"><p>beta array</p></dd><dt class="param">eps</dt><dd class="cmt"><p>Epsilon to prevent div 0</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>Momentum for moving average</p></dd><dt class="param">fix_gamma</dt><dd class="cmt"><p>Fix gamma while training</p></dd><dt class="param">use_global_stats</dt><dd class="cmt"><p>Whether use global moving statistics instead of local batch-norm. This will force change batch-norm into a scale shift operator.</p></dd><dt class="param">output_mean_var</dt><dd class="cmt"><p>Output All,normal mean and var</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#BilinearSampler" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="BilinearSampler(data:Option[org.apache.mxnet.Symbol],grid:Option[org.apache.mxnet.Symbol],cudnn_off:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="BilinearSampler(Option[Symbol],Option[Symbol],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">BilinearSampler</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grid">grid: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@BilinearSampler(data:Option[org.apache.mxnet.Symbol],grid:Option[org.apache.mxnet.Symbol],cudnn_off:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies bilinear sampling to input feature map.

Bilinear Sampling is the key of  [NIPS2015] \<span class="lit">"Spatial Transformer Networks\". The usage of the operator is very similar to remap function in OpenCV,
except that the operator has the backward pass.

Given :math:`data` and :math:`grid`, then the output is computed by

.. math::
  x_{src} = grid[batch, 0, y_{dst}, x_{dst}] \\
  y_{src} = grid[batch, 1, y_{dst}, x_{dst}] \\
  output[batch, channel, y_{dst}, x_{dst}] = G(data[batch, channel, y_{src}, x_{src})

:math:`x_{dst}`, :math:`y_{dst}` enumerate all spatial locations in :math:`output`, and :math:`G()` denotes the bilinear interpolation kernel.
The out-boundary points will be padded with zeros.The shape of the output will be (data.shape[0], data.shape[1], grid.shape[2], grid.shape[3]).

The operator assumes that :math:`data` has 'NCHW' layout and :math:`grid` has been normalized to [-1, 1].

BilinearSampler often cooperates with GridGenerator which generates sampling grids for BilinearSampler.
GridGenerator supports two kinds of transformation: ``affine`` and ``warp``.
If users want to design a CustomOp to manipulate :math:`grid`, please firstly refer to the code of GridGenerator.

Example 1::

  ## Zoom out data two times
  data = array(`[ [`[ [1, 4, 3, 6],
                  [1, 8, 8, 9],
                  [0, 4, 1, 5],
                  [1, 0, 1, 3] ] ] ])

  affine_matrix = array(`[ [2, 0, 0],
                         [0, 2, 0] ])

  affine_matrix = reshape(affine_matrix, shape=(1, 6))

  grid = GridGenerator(data=affine_matrix, transform_type='affine', target_shape=(4, 4))

  out = BilinearSampler(data, grid)

  out
  `[ [`[ [ 0,   0,     0,   0],
     [ 0,   3.5,   6.5, 0],
     [ 0,   1.25,  2.5, 0],
     [ 0,   0,     0,   0] ] ]


Example 2::

  ## shift data horizontally by -1 pixel

  data = array(`[ [`[ [1, 4, 3, 6],
                  [1, 8, 8, 9],
                  [0, 4, 1, 5],
                  [1, 0, 1, 3] ] ] ])

  warp_maxtrix = array(`[ [`[ [1, 1, 1, 1],
                          [1, 1, 1, 1],
                          [1, 1, 1, 1],
                          [1, 1, 1, 1] ],
                         `[ [0, 0, 0, 0],
                          [0, 0, 0, 0],
                          [0, 0, 0, 0],
                          [0, 0, 0, 0] ] ] ])

  grid = GridGenerator(data=warp_matrix, transform_type='warp')
  out = BilinearSampler(data, grid)

  out
  `[ [`[ [ 4,  3,  6,  0],
     [ 8,  8,  9,  0],
     [ 4,  1,  5,  0],
     [ 0,  1,  3,  0] ] ]


Defined in src/operator/bilinear_sampler.cc:L256</span></pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the BilinearsamplerOp.</p></dd><dt class="param">grid</dt><dd class="cmt"><p>Input grid to the BilinearsamplerOp.grid has two channels: x_src, y_src</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>whether to turn cudnn off</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#BlockGrad" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="BlockGrad(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="BlockGrad(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">BlockGrad</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@BlockGrad(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Stops gradient computation.

Stops the accumulated gradient of the inputs from flowing through <span class="kw">this</span> operator
in the backward direction. In other words, <span class="kw">this</span> operator prevents the contribution
of its inputs to be taken into account <span class="kw">for</span> computing gradients.

Example::

  v1 = [<span class="num">1</span>, <span class="num">2</span>]
  v2 = [<span class="num">0</span>, <span class="num">1</span>]
  a = Variable(<span class="lit">'a'</span>)
  b = Variable(<span class="lit">'b'</span>)
  b_stop_grad = stop_gradient(<span class="num">3</span> * b)
  loss = MakeLoss(b_stop_grad + a)

  executor = loss.simple_bind(ctx=cpu(), a=(<span class="num">1</span>,<span class="num">2</span>), b=(<span class="num">1</span>,<span class="num">2</span>))
  executor.forward(is_train=True, a=v1, b=v2)
  executor.outputs
  [ <span class="num">1.</span>  <span class="num">5.</span>]

  executor.backward()
  executor.grad_arrays
  [ <span class="num">0.</span>  <span class="num">0.</span>]
  [ <span class="num">1.</span>  <span class="num">1.</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L327</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#CTCLoss" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="CTCLoss(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],data_lengths:Option[org.apache.mxnet.Symbol],label_lengths:Option[org.apache.mxnet.Symbol],use_data_lengths:Option[Boolean],use_label_lengths:Option[Boolean],blank_label:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="CTCLoss(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">CTCLoss</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="data_lengths">data_lengths: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label_lengths">label_lengths: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="use_data_lengths">use_data_lengths: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_label_lengths">use_label_lengths: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="blank_label">blank_label: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@CTCLoss(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],data_lengths:Option[org.apache.mxnet.Symbol],label_lengths:Option[org.apache.mxnet.Symbol],use_data_lengths:Option[Boolean],use_label_lengths:Option[Boolean],blank_label:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Connectionist Temporal Classification Loss.

.. note:: The existing alias ``contrib_CTCLoss`` is deprecated.

The shapes of the inputs and outputs:

- **data**: `(sequence_length, batch_size, alphabet_size)`
- **label**: `(batch_size, label_sequence_length)`
- **out**: `(batch_size)`

The `data` tensor consists of sequences of activation vectors (without applying softmax),
<span class="kw">with</span> i-th channel in the last dimension corresponding to i-th label
<span class="kw">for</span> i between <span class="num">0</span> and alphabet_size-<span class="num">1</span> (i.e always <span class="num">0</span>-indexed).
Alphabet size should include one additional value reserved <span class="kw">for</span> blank label.
When `blank_label` is ``<span class="lit">"first"</span>``, the ``<span class="num">0</span>``-th channel is be reserved <span class="kw">for</span>
activation of blank label, or otherwise <span class="kw">if</span> it is <span class="lit">"last"</span>, ``(alphabet_size-<span class="num">1</span>)``-th channel should be
reserved <span class="kw">for</span> blank label.

``label`` is an index matrix of integers. When `blank_label` is ``<span class="lit">"first"</span>``,
the value <span class="num">0</span> is then reserved <span class="kw">for</span> blank label, and should not be passed in <span class="kw">this</span> matrix. Otherwise,
when `blank_label` is ``<span class="lit">"last"</span>``, the value `(alphabet_size-<span class="num">1</span>)` is reserved <span class="kw">for</span> blank label.

If a sequence of labels is shorter than *label_sequence_length*, use the special
padding value at the end of the sequence to conform it to the correct
length. The padding value is `<span class="num">0</span>` when `blank_label` is ``<span class="lit">"first"</span>``, and `-<span class="num">1</span>` otherwise.

For example, suppose the vocabulary is `[a, b, c]`, and in one batch we have three sequences
<span class="lit">'ba'</span>, <span class="lit">'cbb'</span>, and <span class="lit">'abac'</span>. When `blank_label` is ``<span class="lit">"first"</span>``, we can index the labels as
`{<span class="lit">'a'</span>: <span class="num">1</span>, <span class="lit">'b'</span>: <span class="num">2</span>, <span class="lit">'c'</span>: <span class="num">3</span>}`, and we reserve the <span class="num">0</span>-th channel <span class="kw">for</span> blank label in data tensor.
The resulting `label` tensor should be padded to be::

  `[ [<span class="num">2</span>, <span class="num">1</span>, <span class="num">0</span>, <span class="num">0</span>], [<span class="num">3</span>, <span class="num">2</span>, <span class="num">2</span>, <span class="num">0</span>], [<span class="num">1</span>, <span class="num">2</span>, <span class="num">1</span>, <span class="num">3</span>] ]

When `blank_label` is ``<span class="lit">"last"</span>``, we can index the labels as
`{<span class="lit">'a'</span>: <span class="num">0</span>, <span class="lit">'b'</span>: <span class="num">1</span>, <span class="lit">'c'</span>: <span class="num">2</span>}`, and we reserve the channel index <span class="num">3</span> <span class="kw">for</span> blank label in data tensor.
The resulting `label` tensor should be padded to be::

  `[ [<span class="num">1</span>, <span class="num">0</span>, -<span class="num">1</span>, -<span class="num">1</span>], [<span class="num">2</span>, <span class="num">1</span>, <span class="num">1</span>, -<span class="num">1</span>], [<span class="num">0</span>, <span class="num">1</span>, <span class="num">0</span>, <span class="num">2</span>] ]

``out`` is a list of CTC loss values, one per example in the batch.

See *Connectionist Temporal Classification: Labelling Unsegmented
Sequence Data <span class="kw">with</span> Recurrent Neural Networks*, A. Graves *et al*. <span class="kw">for</span> more
information on the definition and the algorithm.



Defined in src/operator/nn/ctc_loss.cc:L100</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">label</dt><dd class="cmt"><p>Ground-truth labels for the loss.</p></dd><dt class="param">data_lengths</dt><dd class="cmt"><p>Lengths of data for each of the samples. Only required when use_data_lengths is true.</p></dd><dt class="param">label_lengths</dt><dd class="cmt"><p>Lengths of labels for each of the samples. Only required when use_label_lengths is true.</p></dd><dt class="param">use_data_lengths</dt><dd class="cmt"><p>Whether the data lenghts are decided by <code>data_lengths</code>. If false, the lengths are equal to the max sequence length.</p></dd><dt class="param">use_label_lengths</dt><dd class="cmt"><p>Whether the label lenghts are decided by <code>label_lengths</code>, or derived from <code>padding_mask</code>. If false, the lengths are derived from the first occurrence of the value of <code>padding_mask</code>. The value of <code>padding_mask</code> is <code><code>0</code></code> when first CTC label is reserved for blank, and <code><code>-1</code></code> when last label is reserved for blank. See <code>blank_label</code>.</p></dd><dt class="param">blank_label</dt><dd class="cmt"><p>Set the label that is reserved for blank label.If &quot;first&quot;, 0-th label is reserved, and label values for tokens in the vocabulary are between <code><code>1</code></code> and <code><code>alphabet_size-1</code></code>, and the padding mask is <code><code>-1</code></code>. If &quot;last&quot;, last label value <code><code>alphabet_size-1</code></code> is reserved for blank label instead, and label values for tokens in the vocabulary are between <code><code>0</code></code> and <code><code>alphabet_size-2</code></code>, and the padding mask is <code><code>0</code></code>.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Cast" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Cast(data:Option[org.apache.mxnet.Symbol],dtype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Cast(Option[Symbol],String,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Cast</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Cast(data:Option[org.apache.mxnet.Symbol],dtype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Casts all elements of the input to a <span class="kw">new</span> <span class="kw">type</span>.

.. note:: ``Cast`` is deprecated. Use ``cast`` instead.

Example::

   cast([<span class="num">0.9</span>, <span class="num">1.3</span>], dtype=<span class="lit">'int32'</span>) = [<span class="num">0</span>, <span class="num">1</span>]
   cast([<span class="num">1</span>e20, <span class="num">11.1</span>], dtype='float16') = [inf, <span class="num">11.09375</span>]
   cast([<span class="num">300</span>, <span class="num">11.1</span>, <span class="num">10.9</span>, -<span class="num">1</span>, -<span class="num">3</span>], dtype=<span class="lit">'uint8'</span>) = [<span class="num">44</span>, <span class="num">11</span>, <span class="num">10</span>, <span class="num">255</span>, <span class="num">253</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L665</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>Output data type.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Concat" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Concat(data:Array[org.apache.mxnet.Symbol],num_args:Int,dim:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Concat(Array[Symbol],Int,Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Concat</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_args">num_args: <span class="extype" name="scala.Int">Int</span></span>, <span name="dim">dim: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Concat(data:Array[org.apache.mxnet.Symbol],num_args:Int,dim:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Joins input arrays along a given axis.

.. note:: `Concat` is deprecated. Use `concat` instead.

The dimensions of the input arrays should be the same except the axis along
which they will be concatenated.
The dimension of the output array along the concatenated axis will be equal
to the sum of the corresponding dimensions of the input arrays.

The storage <span class="kw">type</span> of ``concat`` output depends on storage types of inputs

- concat(csr, csr, ..., csr, dim=<span class="num">0</span>) = csr
- otherwise, ``concat`` generates output <span class="kw">with</span> default storage

Example::

   x = `[ [<span class="num">1</span>,<span class="num">1</span>],[<span class="num">2</span>,<span class="num">2</span>] ]
   y = `[ [<span class="num">3</span>,<span class="num">3</span>],[<span class="num">4</span>,<span class="num">4</span>],[<span class="num">5</span>,<span class="num">5</span>] ]
   z = `[ [<span class="num">6</span>,<span class="num">6</span>], [<span class="num">7</span>,<span class="num">7</span>],[<span class="num">8</span>,<span class="num">8</span>] ]

   concat(x,y,z,dim=<span class="num">0</span>) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>],
                          [ <span class="num">2.</span>,  <span class="num">2.</span>],
                          [ <span class="num">3.</span>,  <span class="num">3.</span>],
                          [ <span class="num">4.</span>,  <span class="num">4.</span>],
                          [ <span class="num">5.</span>,  <span class="num">5.</span>],
                          [ <span class="num">6.</span>,  <span class="num">6.</span>],
                          [ <span class="num">7.</span>,  <span class="num">7.</span>],
                          [ <span class="num">8.</span>,  <span class="num">8.</span>] ]

   Note that you cannot concat x,y,z along dimension <span class="num">1</span> since dimension
   <span class="num">0</span> is not the same <span class="kw">for</span> all the input arrays.

   concat(y,z,dim=<span class="num">1</span>) = `[ [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">6.</span>,  <span class="num">6.</span>],
                         [ <span class="num">4.</span>,  <span class="num">4.</span>,  <span class="num">7.</span>,  <span class="num">7.</span>],
                         [ <span class="num">5.</span>,  <span class="num">5.</span>,  <span class="num">8.</span>,  <span class="num">8.</span>] ]



Defined in src/operator/nn/concat.cc:L383</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>List of arrays to concatenate</p></dd><dt class="param">num_args</dt><dd class="cmt"><p>Number of inputs to be concated.</p></dd><dt class="param">dim</dt><dd class="cmt"><p>the dimension to be concated.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Convolution" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Convolution(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],kernel:org.apache.mxnet.Shape,stride:Option[org.apache.mxnet.Shape],dilate:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],num_filter:Int,num_group:Option[Int],workspace:Option[Long],no_bias:Option[Boolean],cudnn_tune:Option[String],cudnn_off:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Convolution(Option[Symbol],Option[Symbol],Option[Symbol],Shape,Option[Shape],Option[Shape],Option[Shape],Int,Option[Int],Option[Long],Option[Boolean],Option[String],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Convolution</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="bias">bias: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="kernel">kernel: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="stride">stride: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dilate">dilate: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pad">pad: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="num_filter">num_filter: <span class="extype" name="scala.Int">Int</span></span>, <span name="num_group">num_group: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="workspace">workspace: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Long">Long</span>] = <span class="symbol">None</span></span>, <span name="no_bias">no_bias: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="cudnn_tune">cudnn_tune: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="layout">layout: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Convolution(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],kernel:org.apache.mxnet.Shape,stride:Option[org.apache.mxnet.Shape],dilate:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],num_filter:Int,num_group:Option[Int],workspace:Option[Long],no_bias:Option[Boolean],cudnn_tune:Option[String],cudnn_off:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Compute *N*-D convolution on *(N+<span class="num">2</span>)*-D input.

In the <span class="num">2</span>-D convolution, given input data <span class="kw">with</span> shape *(batch_size,
channel, height, width)*, the output is computed by

.. math::

   out[n,i,:,:] = bias[i] + \sum_{j=<span class="num">0</span>}^{channel} data[n,j,:,:] \star
   weight[i,j,:,:]

where :math:`\star` is the <span class="num">2</span>-D cross-correlation operator.

For general <span class="num">2</span>-D convolution, the shapes are

- **data**: *(batch_size, channel, height, width)*
- **weight**: *(num_filter, channel, kernel[<span class="num">0</span>], kernel[<span class="num">1</span>])*
- **bias**: *(num_filter,)*
- **out**: *(batch_size, num_filter, out_height, out_width)*.

Define::

  f(x,k,p,s,d) = floor((x+<span class="num">2</span>*p-d*(k-<span class="num">1</span>)-<span class="num">1</span>)/s)+<span class="num">1</span>

then we have::

  out_height=f(height, kernel[<span class="num">0</span>], pad[<span class="num">0</span>], stride[<span class="num">0</span>], dilate[<span class="num">0</span>])
  out_width=f(width, kernel[<span class="num">1</span>], pad[<span class="num">1</span>], stride[<span class="num">1</span>], dilate[<span class="num">1</span>])

If ``no_bias`` is set to be <span class="kw">true</span>, then the ``bias`` term is ignored.

The default data ``layout`` is *NCHW*, namely *(batch_size, channel, height,
width)*. We can choose other layouts such as *NWC*.

If ``num_group`` is larger than <span class="num">1</span>, denoted by *g*, then split the input ``data``
evenly into *g* parts along the channel axis, and also evenly split ``weight``
along the first dimension. Next compute the convolution on the *i*-th part of
the data <span class="kw">with</span> the *i*-th weight part. The output is obtained by concatenating all
the *g* results.

<span class="num">1</span>-D convolution does not have *height* dimension but only *width* in space.

- **data**: *(batch_size, channel, width)*
- **weight**: *(num_filter, channel, kernel[<span class="num">0</span>])*
- **bias**: *(num_filter,)*
- **out**: *(batch_size, num_filter, out_width)*.

<span class="num">3</span>-D convolution adds an additional *depth* dimension besides *height* and
*width*. The shapes are

- **data**: *(batch_size, channel, depth, height, width)*
- **weight**: *(num_filter, channel, kernel[<span class="num">0</span>], kernel[<span class="num">1</span>], kernel[<span class="num">2</span>])*
- **bias**: *(num_filter,)*
- **out**: *(batch_size, num_filter, out_depth, out_height, out_width)*.

Both ``weight`` and ``bias`` are learnable parameters.

There are other options to tune the performance.

- **cudnn_tune**: enable <span class="kw">this</span> option leads to higher startup time but may give
  faster speed. Options are

  - **off**: no tuning
  - **limited_workspace**:run test and pick the fastest algorithm that doesn't
    exceed workspace limit.
  - **fastest**: pick the fastest algorithm and ignore workspace limit.
  - **<span class="std">None</span>** (default): the behavior is determined by environment variable
    ``MXNET_CUDNN_AUTOTUNE_DEFAULT``. <span class="num">0</span> <span class="kw">for</span> off, <span class="num">1</span> <span class="kw">for</span> limited workspace
    (default), <span class="num">2</span> <span class="kw">for</span> fastest.

- **workspace**: A large number leads to more (GPU) memory usage but may improve
  the performance.



Defined in src/operator/nn/convolution.cc:L473</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the ConvolutionOp.</p></dd><dt class="param">weight</dt><dd class="cmt"><p>Weight matrix.</p></dd><dt class="param">bias</dt><dd class="cmt"><p>Bias parameter.</p></dd><dt class="param">kernel</dt><dd class="cmt"><p>Convolution kernel size: (w,), (h, w) or (d, h, w)</p></dd><dt class="param">stride</dt><dd class="cmt"><p>Convolution stride: (w,), (h, w) or (d, h, w). Defaults to 1 for each dimension.</p></dd><dt class="param">dilate</dt><dd class="cmt"><p>Convolution dilate: (w,), (h, w) or (d, h, w). Defaults to 1 for each dimension.</p></dd><dt class="param">pad</dt><dd class="cmt"><p>Zero pad for convolution: (w,), (h, w) or (d, h, w). Defaults to no padding.</p></dd><dt class="param">num_filter</dt><dd class="cmt"><p>Convolution filter(channel) number</p></dd><dt class="param">num_group</dt><dd class="cmt"><p>Number of group partitions.</p></dd><dt class="param">workspace</dt><dd class="cmt"><p>Maximum temporary workspace allowed (MB) in convolution.This parameter has two usages. When CUDNN is not used, it determines the effective batch size of the convolution kernel. When CUDNN is used, it controls the maximum temporary storage used for tuning the best CUDNN kernel when <code>limited_workspace</code> strategy is used.</p></dd><dt class="param">no_bias</dt><dd class="cmt"><p>Whether to disable bias parameter.</p></dd><dt class="param">cudnn_tune</dt><dd class="cmt"><p>Whether to pick convolution algo by running performance test.</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>Turn off cudnn for this layer.</p></dd><dt class="param">layout</dt><dd class="cmt"><p>Set layout for input, output and weight. Empty for
    default layout: NCW for 1d, NCHW for 2d and NCDHW for 3d.NHWC and NDHWC are only supported on GPU.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Convolution_v1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Convolution_v1(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],kernel:org.apache.mxnet.Shape,stride:Option[org.apache.mxnet.Shape],dilate:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],num_filter:Int,num_group:Option[Int],workspace:Option[Long],no_bias:Option[Boolean],cudnn_tune:Option[String],cudnn_off:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Convolution_v1(Option[Symbol],Option[Symbol],Option[Symbol],Shape,Option[Shape],Option[Shape],Option[Shape],Int,Option[Int],Option[Long],Option[Boolean],Option[String],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Convolution_v1</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="bias">bias: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="kernel">kernel: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="stride">stride: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dilate">dilate: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pad">pad: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="num_filter">num_filter: <span class="extype" name="scala.Int">Int</span></span>, <span name="num_group">num_group: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="workspace">workspace: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Long">Long</span>] = <span class="symbol">None</span></span>, <span name="no_bias">no_bias: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="cudnn_tune">cudnn_tune: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="layout">layout: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Convolution_v1(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],kernel:org.apache.mxnet.Shape,stride:Option[org.apache.mxnet.Shape],dilate:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],num_filter:Int,num_group:Option[Int],workspace:Option[Long],no_bias:Option[Boolean],cudnn_tune:Option[String],cudnn_off:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>This operator is DEPRECATED. Apply convolution to input then add a bias.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the ConvolutionV1Op.</p></dd><dt class="param">weight</dt><dd class="cmt"><p>Weight matrix.</p></dd><dt class="param">bias</dt><dd class="cmt"><p>Bias parameter.</p></dd><dt class="param">kernel</dt><dd class="cmt"><p>convolution kernel size: (h, w) or (d, h, w)</p></dd><dt class="param">stride</dt><dd class="cmt"><p>convolution stride: (h, w) or (d, h, w)</p></dd><dt class="param">dilate</dt><dd class="cmt"><p>convolution dilate: (h, w) or (d, h, w)</p></dd><dt class="param">pad</dt><dd class="cmt"><p>pad for convolution: (h, w) or (d, h, w)</p></dd><dt class="param">num_filter</dt><dd class="cmt"><p>convolution filter(channel) number</p></dd><dt class="param">num_group</dt><dd class="cmt"><p>Number of group partitions. Equivalent to slicing input into num_group
    partitions, apply convolution on each, then concatenate the results</p></dd><dt class="param">workspace</dt><dd class="cmt"><p>Maximum temporary workspace allowed for convolution (MB).This parameter determines the effective batch size of the convolution kernel, which may be smaller than the given batch size. Also, the workspace will be automatically enlarged to make sure that we can run the kernel with batch_size=1</p></dd><dt class="param">no_bias</dt><dd class="cmt"><p>Whether to disable bias parameter.</p></dd><dt class="param">cudnn_tune</dt><dd class="cmt"><p>Whether to pick convolution algo by running performance test.
    Leads to higher startup time but may give faster speed. Options are:
    'off': no tuning
    'limited_workspace': run test and pick the fastest algorithm that doesn't exceed workspace limit.
    'fastest': pick the fastest algorithm and ignore workspace limit.
    If set to None (default), behavior is determined by environment
    variable MXNET_CUDNN_AUTOTUNE_DEFAULT: 0 for off,
    1 for limited workspace (default), 2 for fastest.</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>Turn off cudnn for this layer.</p></dd><dt class="param">layout</dt><dd class="cmt"><p>Set layout for input, output and weight. Empty for
    default layout: NCHW for 2d and NCDHW for 3d.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Correlation" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Correlation(data1:Option[org.apache.mxnet.Symbol],data2:Option[org.apache.mxnet.Symbol],kernel_size:Option[Int],max_displacement:Option[Int],stride1:Option[Int],stride2:Option[Int],pad_size:Option[Int],is_multiply:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Correlation(Option[Symbol],Option[Symbol],Option[Int],Option[Int],Option[Int],Option[Int],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Correlation</span><span class="params">(<span name="data1">data1: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="data2">data2: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="kernel_size">kernel_size: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="max_displacement">max_displacement: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="stride1">stride1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="stride2">stride2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="pad_size">pad_size: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="is_multiply">is_multiply: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Correlation(data1:Option[org.apache.mxnet.Symbol],data2:Option[org.apache.mxnet.Symbol],kernel_size:Option[Int],max_displacement:Option[Int],stride1:Option[Int],stride2:Option[Int],pad_size:Option[Int],is_multiply:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies correlation to inputs.

The correlation layer performs multiplicative patch comparisons between two feature maps.

Given two multi-channel feature maps :math:`f_{<span class="num">1</span>}, f_{<span class="num">2</span>}`, <span class="kw">with</span> :math:`w`, :math:`h`, and :math:`c` being their width, height, and number of channels,
the correlation layer lets the network compare each patch from :math:`f_{<span class="num">1</span>}` <span class="kw">with</span> each patch from :math:`f_{<span class="num">2</span>}`.

For now we consider only a single comparison of two patches. The 'correlation' of two patches centered at :math:`x_{<span class="num">1</span>}` in the first map and
:math:`x_{<span class="num">2</span>}` in the second map is then defined as:

.. math::

   c(x_{<span class="num">1</span>}, x_{<span class="num">2</span>}) = \sum_{o \in [-k,k] \times [-k,k]} &lt;f_{<span class="num">1</span>}(x_{<span class="num">1</span>} + o), f_{<span class="num">2</span>}(x_{<span class="num">2</span>} + o)&gt;

<span class="kw">for</span> a square patch of size :math:`K:=<span class="num">2</span>k+<span class="num">1</span>`.

Note that the equation above is identical to one step of a convolution in neural networks, but instead of convolving data <span class="kw">with</span> a filter, it convolves data <span class="kw">with</span> other
data. For <span class="kw">this</span> reason, it has no training weights.

Computing :math:`c(x_{<span class="num">1</span>}, x_{<span class="num">2</span>})` involves :math:`c * K^{<span class="num">2</span>}` multiplications. Comparing all patch combinations involves :math:`w^{<span class="num">2</span>}*h^{<span class="num">2</span>}` such computations.

Given a maximum displacement :math:`d`, <span class="kw">for</span> each location :math:`x_{<span class="num">1</span>}` it computes correlations :math:`c(x_{<span class="num">1</span>}, x_{<span class="num">2</span>})` only in a neighborhood of size :math:`D:=<span class="num">2</span>d+<span class="num">1</span>`,
by limiting the range of :math:`x_{<span class="num">2</span>}`. We use strides :math:`s_{<span class="num">1</span>}, s_{<span class="num">2</span>}`, to quantize :math:`x_{<span class="num">1</span>}` globally and to quantize :math:`x_{<span class="num">2</span>}` within the neighborhood
centered around :math:`x_{<span class="num">1</span>}`.

The <span class="kw">final</span> output is defined by the following expression:

.. math::
  out[n, q, i, j] = c(x_{i, j}, x_{q})

where :math:`i` and :math:`j` enumerate spatial locations in :math:`f_{<span class="num">1</span>}`, and :math:`q` denotes the :math:`q^{th}` neighborhood of :math:`x_{i,j}`.


Defined in src/operator/correlation.cc:L198</pre></div><dl class="paramcmts block"><dt class="param">data1</dt><dd class="cmt"><p>Input data1 to the correlation.</p></dd><dt class="param">data2</dt><dd class="cmt"><p>Input data2 to the correlation.</p></dd><dt class="param">kernel_size</dt><dd class="cmt"><p>kernel size for Correlation must be an odd number</p></dd><dt class="param">max_displacement</dt><dd class="cmt"><p>Max displacement of Correlation</p></dd><dt class="param">stride1</dt><dd class="cmt"><p>stride1 quantize data1 globally</p></dd><dt class="param">stride2</dt><dd class="cmt"><p>stride2 quantize data2 within the neighborhood centered around data1</p></dd><dt class="param">pad_size</dt><dd class="cmt"><p>pad for Correlation</p></dd><dt class="param">is_multiply</dt><dd class="cmt"><p>operation type is either multiplication or subduction</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Crop" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Crop(data:Array[org.apache.mxnet.Symbol],num_args:Int,offset:Option[org.apache.mxnet.Shape],h_w:Option[org.apache.mxnet.Shape],center_crop:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Crop(Array[Symbol],Int,Option[Shape],Option[Shape],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Crop</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_args">num_args: <span class="extype" name="scala.Int">Int</span></span>, <span name="offset">offset: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="h_w">h_w: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="center_crop">center_crop: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Crop(data:Array[org.apache.mxnet.Symbol],num_args:Int,offset:Option[org.apache.mxnet.Shape],h_w:Option[org.apache.mxnet.Shape],center_crop:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>.. note:: `Crop` is deprecated. Use `slice` instead.

Crop the <span class="num">2</span>nd and <span class="num">3</span>rd dim of input data, <span class="kw">with</span> the corresponding size of h_w or
<span class="kw">with</span> width and height of the second input symbol, i.e., <span class="kw">with</span> one input, we need h_w to
specify the crop height and width, otherwise the second input symbol's size will be used


Defined in src/operator/crop.cc:L50</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Tensor or List of Tensors, the second input will be used as crop_like shape reference</p></dd><dt class="param">num_args</dt><dd class="cmt"><p>Number of inputs for crop, if equals one, then we will use the h_wfor crop height and width, else if equals two, then we will use the heightand width of the second input symbol, we name crop_like here</p></dd><dt class="param">offset</dt><dd class="cmt"><p>crop offset coordinate: (y, x)</p></dd><dt class="param">h_w</dt><dd class="cmt"><p>crop height and width: (h, w)</p></dd><dt class="param">center_crop</dt><dd class="cmt"><p>If set to true, then it will use be the center_crop,or it will crop using the shape of crop_like</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Deconvolution" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Deconvolution(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],kernel:org.apache.mxnet.Shape,stride:Option[org.apache.mxnet.Shape],dilate:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],adj:Option[org.apache.mxnet.Shape],target_shape:Option[org.apache.mxnet.Shape],num_filter:Int,num_group:Option[Int],workspace:Option[Long],no_bias:Option[Boolean],cudnn_tune:Option[String],cudnn_off:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Deconvolution(Option[Symbol],Option[Symbol],Option[Symbol],Shape,Option[Shape],Option[Shape],Option[Shape],Option[Shape],Option[Shape],Int,Option[Int],Option[Long],Option[Boolean],Option[String],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Deconvolution</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="bias">bias: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="kernel">kernel: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="stride">stride: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dilate">dilate: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pad">pad: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="adj">adj: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="target_shape">target_shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="num_filter">num_filter: <span class="extype" name="scala.Int">Int</span></span>, <span name="num_group">num_group: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="workspace">workspace: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Long">Long</span>] = <span class="symbol">None</span></span>, <span name="no_bias">no_bias: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="cudnn_tune">cudnn_tune: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="layout">layout: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Deconvolution(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],kernel:org.apache.mxnet.Shape,stride:Option[org.apache.mxnet.Shape],dilate:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],adj:Option[org.apache.mxnet.Shape],target_shape:Option[org.apache.mxnet.Shape],num_filter:Int,num_group:Option[Int],workspace:Option[Long],no_bias:Option[Boolean],cudnn_tune:Option[String],cudnn_off:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes <span class="num">1</span>D or <span class="num">2</span>D transposed convolution (aka fractionally strided convolution) of the input tensor. This operation can be seen as the gradient of Convolution operation <span class="kw">with</span> respect to its input. Convolution usually reduces the size of the input. Transposed convolution works the other way, going from a smaller input to a larger output <span class="kw">while</span> preserving the connectivity pattern.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input tensor to the deconvolution operation.</p></dd><dt class="param">weight</dt><dd class="cmt"><p>Weights representing the kernel.</p></dd><dt class="param">bias</dt><dd class="cmt"><p>Bias added to the result after the deconvolution operation.</p></dd><dt class="param">kernel</dt><dd class="cmt"><p>Deconvolution kernel size: (w,), (h, w) or (d, h, w). This is same as the kernel size used for the corresponding convolution</p></dd><dt class="param">stride</dt><dd class="cmt"><p>The stride used for the corresponding convolution: (w,), (h, w) or (d, h, w). Defaults to 1 for each dimension.</p></dd><dt class="param">dilate</dt><dd class="cmt"><p>Dilation factor for each dimension of the input: (w,), (h, w) or (d, h, w). Defaults to 1 for each dimension.</p></dd><dt class="param">pad</dt><dd class="cmt"><p>The amount of implicit zero padding added during convolution for each dimension of the input: (w,), (h, w) or (d, h, w). <code><code>(kernel-1)/2</code></code> is usually a good choice. If <code>target_shape</code> is set, <code>pad</code> will be ignored and a padding that will generate the target shape will be used. Defaults to no padding.</p></dd><dt class="param">adj</dt><dd class="cmt"><p>Adjustment for output shape: (w,), (h, w) or (d, h, w). If <code>target_shape</code> is set, <code>adj</code> will be ignored and computed accordingly.</p></dd><dt class="param">target_shape</dt><dd class="cmt"><p>Shape of the output tensor: (w,), (h, w) or (d, h, w).</p></dd><dt class="param">num_filter</dt><dd class="cmt"><p>Number of output filters.</p></dd><dt class="param">num_group</dt><dd class="cmt"><p>Number of groups partition.</p></dd><dt class="param">workspace</dt><dd class="cmt"><p>Maximum temporary workspace allowed (MB) in deconvolution.This parameter has two usages. When CUDNN is not used, it determines the effective batch size of the deconvolution kernel. When CUDNN is used, it controls the maximum temporary storage used for tuning the best CUDNN kernel when <code>limited_workspace</code> strategy is used.</p></dd><dt class="param">no_bias</dt><dd class="cmt"><p>Whether to disable bias parameter.</p></dd><dt class="param">cudnn_tune</dt><dd class="cmt"><p>Whether to pick convolution algorithm by running performance test.</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>Turn off cudnn for this layer.</p></dd><dt class="param">layout</dt><dd class="cmt"><p>Set layout for input, output and weight. Empty for default layout, NCW for 1d, NCHW for 2d and NCDHW for 3d.NHWC and NDHWC are only supported on GPU.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Dropout" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Dropout(data:Option[org.apache.mxnet.Symbol],p:Option[Float],mode:Option[String],axes:Option[org.apache.mxnet.Shape],cudnn_off:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Dropout(Option[Symbol],Option[Float],Option[String],Option[Shape],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Dropout</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="axes">axes: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Dropout(data:Option[org.apache.mxnet.Symbol],p:Option[Float],mode:Option[String],axes:Option[org.apache.mxnet.Shape],cudnn_off:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies dropout operation to input array.

- During training, each element of the input is set to zero <span class="kw">with</span> probability p.
  The whole array is rescaled by :math:`<span class="num">1</span>/(<span class="num">1</span>-p)` to keep the expected
  sum of the input unchanged.

- During testing, <span class="kw">this</span> operator does not change the input <span class="kw">if</span> mode is 'training'.
  If mode is <span class="lit">'always'</span>, the same computaion as during training will be applied.

Example::

  random.seed(<span class="num">998</span>)
  input_array = array(`[ [<span class="num">3.</span>, <span class="num">0.5</span>,  -<span class="num">0.5</span>,  <span class="num">2.</span>, <span class="num">7.</span>],
                      [<span class="num">2.</span>, -<span class="num">0.4</span>,   <span class="num">7.</span>,  <span class="num">3.</span>, <span class="num">0.2</span>] ])
  a = symbol.Variable(<span class="lit">'a'</span>)
  dropout = symbol.Dropout(a, p = <span class="num">0.2</span>)
  executor = dropout.simple_bind(a = input_array.shape)

  ## If training
  executor.forward(is_train = True, a = input_array)
  executor.outputs
  `[ [ <span class="num">3.75</span>   <span class="num">0.625</span> -<span class="num">0.</span>     <span class="num">2.5</span>    <span class="num">8.75</span> ]
   [ <span class="num">2.5</span>   -<span class="num">0.5</span>    <span class="num">8.75</span>   <span class="num">3.75</span>   <span class="num">0.</span>   ] ]

  ## If testing
  executor.forward(is_train = False, a = input_array)
  executor.outputs
  `[ [ <span class="num">3.</span>     <span class="num">0.5</span>   -<span class="num">0.5</span>    <span class="num">2.</span>     <span class="num">7.</span>   ]
   [ <span class="num">2.</span>    -<span class="num">0.4</span>    <span class="num">7.</span>     <span class="num">3.</span>     <span class="num">0.2</span>  ] ]


Defined in src/operator/nn/dropout.cc:L96</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array to which dropout will be applied.</p></dd><dt class="param">p</dt><dd class="cmt"><p>Fraction of the input that gets dropped out during training time.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Whether to only turn on dropout during training or to also turn on for inference.</p></dd><dt class="param">axes</dt><dd class="cmt"><p>Axes for variational dropout kernel.</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>Whether to turn off cudnn in dropout operator. This option is ignored if axes is specified.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ElementWiseSum" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ElementWiseSum(args:Array[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ElementWiseSum(Array[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ElementWiseSum</span><span class="params">(<span name="args">args: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ElementWiseSum(args:Array[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Adds all input arguments element-wise.

.. math::
   add\_n(a_1, a_2, ..., a_n) = a_1 + a_2 + ... + a_n

``add_n`` is potentially more efficient than calling ``add`` by `n` times.

The storage <span class="kw">type</span> of ``add_n`` output depends on storage types of inputs

- add_n(row_sparse, row_sparse, ..) = row_sparse
- add_n(default, csr, default) = default
- add_n(any input combinations longer than <span class="num">4</span> (&gt;<span class="num">4</span>) <span class="kw">with</span> at least one default <span class="kw">type</span>) = default
- otherwise, ``add_n`` falls all inputs back to default storage and generates default storage



Defined in src/operator/tensor/elemwise_sum.cc:L155</pre></div><dl class="paramcmts block"><dt class="param">args</dt><dd class="cmt"><p>Positional input arguments</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Embedding" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Embedding(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],input_dim:Int,output_dim:Int,dtype:Option[String],sparse_grad:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Embedding(Option[Symbol],Option[Symbol],Int,Int,Option[String],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Embedding</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="input_dim">input_dim: <span class="extype" name="scala.Int">Int</span></span>, <span name="output_dim">output_dim: <span class="extype" name="scala.Int">Int</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="sparse_grad">sparse_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Embedding(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],input_dim:Int,output_dim:Int,dtype:Option[String],sparse_grad:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Maps integer indices to vector representations (embeddings).

This operator maps words to real-valued vectors in a high-dimensional space,
called word embeddings. These embeddings can capture semantic and syntactic properties of the words.
For example, it has been noted that in the learned embedding spaces, similar words tend
to be close to each other and dissimilar words far apart.

For an input array of shape (d1, ..., dK),
the shape of an output array is (d1, ..., dK, output_dim).
All the input values should be integers in the range [<span class="num">0</span>, input_dim).

If the input_dim is ip0 and output_dim is op0, then shape of the embedding weight matrix must be
(ip0, op0).

When <span class="lit">"sparse_grad"</span> is False, <span class="kw">if</span> any index mentioned is too large, it is replaced by the index that
addresses the last vector in an embedding matrix.
When <span class="lit">"sparse_grad"</span> is True, an error will be raised <span class="kw">if</span> invalid indices are found.

Examples::

  input_dim = <span class="num">4</span>
  output_dim = <span class="num">5</span>

  <span class="cmt">// Each row in weight matrix y represents a word. So, y = (w0,w1,w2,w3)</span>
  y = `[ [  <span class="num">0.</span>,   <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>],
       [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
       [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>,  <span class="num">13.</span>,  <span class="num">14.</span>],
       [ <span class="num">15.</span>,  <span class="num">16.</span>,  <span class="num">17.</span>,  <span class="num">18.</span>,  <span class="num">19.</span>] ]

  <span class="cmt">// Input array x represents n-grams(2-gram). So, x = [(w1,w3), (w0,w2)]</span>
  x = `[ [ <span class="num">1.</span>,  <span class="num">3.</span>],
       [ <span class="num">0.</span>,  <span class="num">2.</span>] ]

  <span class="cmt">// Mapped input x to its vector representation y.</span>
  Embedding(x, y, <span class="num">4</span>, <span class="num">5</span>) = `[ `[ [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
                            [ <span class="num">15.</span>,  <span class="num">16.</span>,  <span class="num">17.</span>,  <span class="num">18.</span>,  <span class="num">19.</span>] ],

                           `[ [  <span class="num">0.</span>,   <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>],
                            [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>,  <span class="num">13.</span>,  <span class="num">14.</span>] ] ]


The storage <span class="kw">type</span> of weight can be either row_sparse or default.

.. Note::

    If <span class="lit">"sparse_grad"</span> is set to True, the storage <span class="kw">type</span> of gradient w.r.t weights will be
    <span class="lit">"row_sparse"</span>. Only a subset of optimizers support sparse gradients, including SGD, AdaGrad
    and Adam. Note that by default <span class="kw">lazy</span> updates is turned on, which may perform differently
    from standard updates. For more details, please check the Optimization API at:
    https:<span class="cmt">//mxnet.incubator.apache.org/api/python/optimization/optimization.html</span>



Defined in src/operator/tensor/indexing_op.cc:L539</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array to the embedding operator.</p></dd><dt class="param">weight</dt><dd class="cmt"><p>The embedding weight matrix.</p></dd><dt class="param">input_dim</dt><dd class="cmt"><p>Vocabulary size of the input indices.</p></dd><dt class="param">output_dim</dt><dd class="cmt"><p>Dimension of the embedding vectors.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>Data type of weight.</p></dd><dt class="param">sparse_grad</dt><dd class="cmt"><p>Compute row sparse gradient in the backward calculation. If set to True, the grad's storage type is row_sparse.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Flatten" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Flatten(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Flatten(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Flatten</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Flatten(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Flattens the input array into a <span class="num">2</span>-D array by collapsing the higher dimensions.
.. note:: `Flatten` is deprecated. Use `flatten` instead.
For an input array <span class="kw">with</span> shape ``(d1, d2, ..., dk)``, `flatten` operation reshapes
the input array into an output array of shape ``(d1, d2*...*dk)``.
Note that the behavior of <span class="kw">this</span> function is different from numpy.ndarray.flatten,
which behaves similar to mxnet.ndarray.reshape((-<span class="num">1</span>,)).
Example::
    x = `[ [
        [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
        [<span class="num">4</span>,<span class="num">5</span>,<span class="num">6</span>],
        [<span class="num">7</span>,<span class="num">8</span>,<span class="num">9</span>]
    ],
    [    [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
        [<span class="num">4</span>,<span class="num">5</span>,<span class="num">6</span>],
        [<span class="num">7</span>,<span class="num">8</span>,<span class="num">9</span>]
    ] ],
    flatten(x) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>],
       [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L250</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#FullyConnected" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="FullyConnected(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],num_hidden:Int,no_bias:Option[Boolean],flatten:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="FullyConnected(Option[Symbol],Option[Symbol],Option[Symbol],Int,Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">FullyConnected</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="bias">bias: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="num_hidden">num_hidden: <span class="extype" name="scala.Int">Int</span></span>, <span name="no_bias">no_bias: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="flatten">flatten: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@FullyConnected(data:Option[org.apache.mxnet.Symbol],weight:Option[org.apache.mxnet.Symbol],bias:Option[org.apache.mxnet.Symbol],num_hidden:Int,no_bias:Option[Boolean],flatten:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies a linear transformation: :math:`Y = XW^T + b`.

If ``flatten`` is set to be <span class="kw">true</span>, then the shapes are:

- **data**: `(batch_size, x1, x2, ..., xn)`
- **weight**: `(num_hidden, x1 * x2 * ... * xn)`
- **bias**: `(num_hidden,)`
- **out**: `(batch_size, num_hidden)`

If ``flatten`` is set to be <span class="kw">false</span>, then the shapes are:

- **data**: `(x1, x2, ..., xn, input_dim)`
- **weight**: `(num_hidden, input_dim)`
- **bias**: `(num_hidden,)`
- **out**: `(x1, x2, ..., xn, num_hidden)`

The learnable parameters include both ``weight`` and ``bias``.

If ``no_bias`` is set to be <span class="kw">true</span>, then the ``bias`` term is ignored.

.. Note::

    The sparse support <span class="kw">for</span> FullyConnected is limited to forward evaluation <span class="kw">with</span> `row_sparse`
    weight and bias, where the length of `weight.indices` and `bias.indices` must be equal
    to `num_hidden`. This could be useful <span class="kw">for</span> model inference <span class="kw">with</span> `row_sparse` weights
    trained <span class="kw">with</span> importance sampling or noise contrastive estimation.

    To compute linear transformation <span class="kw">with</span> <span class="lit">'csr'</span> sparse data, sparse.dot is recommended instead
    of sparse.FullyConnected.



Defined in src/operator/nn/fully_connected.cc:L291</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data.</p></dd><dt class="param">weight</dt><dd class="cmt"><p>Weight matrix.</p></dd><dt class="param">bias</dt><dd class="cmt"><p>Bias parameter.</p></dd><dt class="param">num_hidden</dt><dd class="cmt"><p>Number of hidden nodes of the output.</p></dd><dt class="param">no_bias</dt><dd class="cmt"><p>Whether to disable bias parameter.</p></dd><dt class="param">flatten</dt><dd class="cmt"><p>Whether to collapse all but the first axis of the input data tensor.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#GridGenerator" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="GridGenerator(data:Option[org.apache.mxnet.Symbol],transform_type:String,target_shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="GridGenerator(Option[Symbol],String,Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">GridGenerator</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transform_type">transform_type: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="target_shape">target_shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@GridGenerator(data:Option[org.apache.mxnet.Symbol],transform_type:String,target_shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Generates <span class="num">2</span>D sampling grid <span class="kw">for</span> bilinear sampling.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the function.</p></dd><dt class="param">transform_type</dt><dd class="cmt"><p>The type of transformation. For <code>affine</code>, input data should be an affine matrix of size (batch, 6). For <code>warp</code>, input data should be an optical flow of size (batch, 2, h, w).</p></dd><dt class="param">target_shape</dt><dd class="cmt"><p>Specifies the output shape (H, W). This is required if transformation type is <code>affine</code>. If transformation type is <code>warp</code>, this parameter is ignored.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#GroupNorm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="GroupNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],num_groups:Option[Int],eps:Option[Float],output_mean_var:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="GroupNorm(Option[Symbol],Option[Symbol],Option[Symbol],Option[Int],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">GroupNorm</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="gamma">gamma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="num_groups">num_groups: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="eps">eps: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="output_mean_var">output_mean_var: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@GroupNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],num_groups:Option[Int],eps:Option[Float],output_mean_var:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Group normalization.

The input channels are separated into ``num_groups`` groups, each containing ``num_channels / num_groups`` channels.
The mean and standard-deviation are calculated separately over the each group.

.. math::

  data = data.reshape((N, num_groups, C <span class="cmt">// num_groups, ...))</span>
  out = \frac{data - mean(data, axis)}{\sqrt{<span class="kw">var</span>(data, axis) + \epsilon}} * gamma + beta

Both ``gamma`` and ``beta`` are learnable parameters.



Defined in src/operator/nn/group_norm.cc:L77</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data</p></dd><dt class="param">gamma</dt><dd class="cmt"><p>gamma array</p></dd><dt class="param">beta</dt><dd class="cmt"><p>beta array</p></dd><dt class="param">num_groups</dt><dd class="cmt"><p>Total number of groups.</p></dd><dt class="param">eps</dt><dd class="cmt"><p>An <code>epsilon</code> parameter to prevent division by 0.</p></dd><dt class="param">output_mean_var</dt><dd class="cmt"><p>Output the mean and std calculated along the given axis.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#IdentityAttachKLSparseReg" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="IdentityAttachKLSparseReg(data:Option[org.apache.mxnet.Symbol],sparseness_target:Option[Float],penalty:Option[Float],momentum:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="IdentityAttachKLSparseReg(Option[Symbol],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">IdentityAttachKLSparseReg</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="sparseness_target">sparseness_target: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="penalty">penalty: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@IdentityAttachKLSparseReg(data:Option[org.apache.mxnet.Symbol],sparseness_target:Option[Float],penalty:Option[Float],momentum:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Apply a sparse regularization to the output a sigmoid activation function.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data.</p></dd><dt class="param">sparseness_target</dt><dd class="cmt"><p>The sparseness target</p></dd><dt class="param">penalty</dt><dd class="cmt"><p>The tradeoff parameter for the sparseness penalty</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The momentum for running average</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#InstanceNorm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="InstanceNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],eps:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="InstanceNorm(Option[Symbol],Option[Symbol],Option[Symbol],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">InstanceNorm</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="gamma">gamma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="eps">eps: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@InstanceNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],eps:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies instance normalization to the n-dimensional input array.

This operator takes an n-dimensional input array where (n&gt;<span class="num">2</span>) and normalizes
the input using the following formula:

.. math::

  out = \frac{x - mean[data]}{ \sqrt{Var[data]} + \epsilon} * gamma + beta

This layer is similar to batch normalization layer (`BatchNorm`)
<span class="kw">with</span> two differences: first, the normalization is
carried out per example (instance), not over a batch. Second, the
same normalization is applied both at test and train time. This
operation is also known as `contrast normalization`.

If the input data is of shape [batch, channel, spacial_dim1, spacial_dim2, ...],
`gamma` and `beta` parameters must be vectors of shape [channel].

This implementation is based on <span class="kw">this</span> paper [<span class="num">1</span>]_

.. [<span class="num">1</span>] Instance Normalization: The Missing Ingredient <span class="kw">for</span> Fast Stylization,
   D. Ulyanov, A. Vedaldi, V. Lempitsky, <span class="num">2016</span> (arXiv:<span class="num">1607.08022</span>v2).

Examples::

  <span class="cmt">// Input of shape (2,1,2)</span>
  x = `[ `[ [ <span class="num">1.1</span>,  <span class="num">2.2</span>] ],
       `[ [ <span class="num">3.3</span>,  <span class="num">4.4</span>] ] ]

  <span class="cmt">// gamma parameter of length 1</span>
  gamma = [<span class="num">1.5</span>]

  <span class="cmt">// beta parameter of length 1</span>
  beta = [<span class="num">0.5</span>]

  <span class="cmt">// Instance normalization is calculated with the above formula</span>
  InstanceNorm(x,gamma,beta) = `[ `[ [-<span class="num">0.997527</span>  ,  <span class="num">1.99752665</span>] ],
                                `[ [-<span class="num">0.99752653</span>,  <span class="num">1.99752724</span>] ] ]



Defined in src/operator/instance_norm.cc:L95</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>An n-dimensional input array (n &gt; 2) of the form [batch, channel, spatial_dim1, spatial_dim2, ...].</p></dd><dt class="param">gamma</dt><dd class="cmt"><p>A vector of length 'channel', which multiplies the normalized input.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>A vector of length 'channel', which is added to the product of the normalized input and the weight.</p></dd><dt class="param">eps</dt><dd class="cmt"><p>An <code>epsilon</code> parameter to prevent division by 0.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#L2Normalization" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="L2Normalization(data:Option[org.apache.mxnet.Symbol],eps:Option[Float],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="L2Normalization(Option[Symbol],Option[Float],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">L2Normalization</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="eps">eps: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@L2Normalization(data:Option[org.apache.mxnet.Symbol],eps:Option[Float],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Normalize the input array using the L2 norm.

For <span class="num">1</span>-D NDArray, it computes::

  out = data / sqrt(sum(data ** <span class="num">2</span>) + eps)

For N-D NDArray, <span class="kw">if</span> the input array has shape (N, N, ..., N),

<span class="kw">with</span> ``mode`` = ``instance``, it normalizes each instance in the multidimensional
array by its L2 norm.::

  <span class="kw">for</span> i in <span class="num">0.</span>..N
    out[i,:,:,...,:] = data[i,:,:,...,:] / sqrt(sum(data[i,:,:,...,:] ** <span class="num">2</span>) + eps)

<span class="kw">with</span> ``mode`` = ``channel``, it normalizes each channel in the array by its L2 norm.::

  <span class="kw">for</span> i in <span class="num">0.</span>..N
    out[:,i,:,...,:] = data[:,i,:,...,:] / sqrt(sum(data[:,i,:,...,:] ** <span class="num">2</span>) + eps)

<span class="kw">with</span> ``mode`` = ``spatial``, it normalizes the cross channel norm <span class="kw">for</span> each position
in the array by its L2 norm.::

  <span class="kw">for</span> dim in <span class="num">2.</span>..N
    <span class="kw">for</span> i in <span class="num">0.</span>..N
      out[.....,i,...] = take(out, indices=i, axis=dim) / sqrt(sum(take(out, indices=i, axis=dim) ** <span class="num">2</span>) + eps)
          -dim-

Example::

  x = `[ `[ [<span class="num">1</span>,<span class="num">2</span>],
        [<span class="num">3</span>,<span class="num">4</span>] ],
       `[ [<span class="num">2</span>,<span class="num">2</span>],
        [<span class="num">5</span>,<span class="num">6</span>] ] ]

  L2Normalization(x, mode='instance')
  =`[ `[ [ <span class="num">0.18257418</span>  <span class="num">0.36514837</span>]
     [ <span class="num">0.54772252</span>  <span class="num">0.73029673</span>] ]
    `[ [ <span class="num">0.24077171</span>  <span class="num">0.24077171</span>]
     [ <span class="num">0.60192931</span>  <span class="num">0.72231513</span>] ] ]

  L2Normalization(x, mode='channel')
  =`[ `[ [ <span class="num">0.31622776</span>  <span class="num">0.44721359</span>]
     [ <span class="num">0.94868326</span>  <span class="num">0.89442718</span>] ]
    `[ [ <span class="num">0.37139067</span>  <span class="num">0.31622776</span>]
     [ <span class="num">0.92847669</span>  <span class="num">0.94868326</span>] ] ]

  L2Normalization(x, mode='spatial')
  =`[ `[ [ <span class="num">0.44721359</span>  <span class="num">0.89442718</span>]
     [ <span class="num">0.60000002</span>  <span class="num">0.80000001</span>] ]
    `[ [ <span class="num">0.70710677</span>  <span class="num">0.70710677</span>]
     [ <span class="num">0.6401844</span>   <span class="num">0.76822126</span>] ] ]



Defined in src/operator/l2_normalization.cc:L196</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array to normalize.</p></dd><dt class="param">eps</dt><dd class="cmt"><p>A small constant for numerical stability.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Specify the dimension along which to compute L2 norm.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#LRN" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="LRN(data:Option[org.apache.mxnet.Symbol],alpha:Option[Float],beta:Option[Float],knorm:Option[Float],nsize:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="LRN(Option[Symbol],Option[Float],Option[Float],Option[Float],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">LRN</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="knorm">knorm: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="nsize">nsize: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@LRN(data:Option[org.apache.mxnet.Symbol],alpha:Option[Float],beta:Option[Float],knorm:Option[Float],nsize:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies local response normalization to the input.

The local response normalization layer performs <span class="lit">"lateral inhibition"</span> by normalizing
over local input regions.

If :math:`a_{x,y}^{i}` is the activity of a neuron computed by applying kernel :math:`i` at position
:math:`(x, y)` and then applying the ReLU nonlinearity, the response-normalized
activity :math:`b_{x,y}^{i}` is given by the expression:

.. math::
   b_{x,y}^{i} = \frac{a_{x,y}^{i}}{\Bigg({k + \frac{\alpha}{n} \sum_{j=max(<span class="num">0</span>, i-\frac{n}{<span class="num">2</span>})}^{min(N-<span class="num">1</span>, i+\frac{n}{<span class="num">2</span>})} (a_{x,y}^{j})^{<span class="num">2</span>}}\Bigg)^{\beta}}

where the sum runs over :math:`n` <span class="lit">"adjacent"</span> kernel maps at the same spatial position, and :math:`N` is the total
number of kernels in the layer.



Defined in src/operator/nn/lrn.cc:L164</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to LRN</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>The variance scaling parameter :math:<code>lpha</code> in the LRN expression.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>The power parameter :math:<code>eta</code> in the LRN expression.</p></dd><dt class="param">knorm</dt><dd class="cmt"><p>The parameter :math:<code>k</code> in the LRN expression.</p></dd><dt class="param">nsize</dt><dd class="cmt"><p>normalization window width in elements.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#LayerNorm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="LayerNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],axis:Option[Int],eps:Option[Float],output_mean_var:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="LayerNorm(Option[Symbol],Option[Symbol],Option[Symbol],Option[Int],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">LayerNorm</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="gamma">gamma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="eps">eps: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="output_mean_var">output_mean_var: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@LayerNorm(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],beta:Option[org.apache.mxnet.Symbol],axis:Option[Int],eps:Option[Float],output_mean_var:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Layer normalization.

Normalizes the channels of the input tensor by mean and variance, and applies a scale ``gamma`` as
well as offset ``beta``.

Assume the input has more than one dimension and we normalize along axis <span class="num">1.</span>
We first compute the mean and variance along <span class="kw">this</span> axis and then
compute the normalized output, which has the same shape as input, as following:

.. math::

  out = \frac{data - mean(data, axis)}{\sqrt{<span class="kw">var</span>(data, axis) + \epsilon}} * gamma + beta

Both ``gamma`` and ``beta`` are learnable parameters.

Unlike BatchNorm and InstanceNorm,  the *mean* and *<span class="kw">var</span>* are computed along the channel dimension.

Assume the input has size *k* on axis <span class="num">1</span>, then both ``gamma`` and ``beta``
have shape *(k,)*. If ``output_mean_var`` is set to be <span class="kw">true</span>, then outputs both ``data_mean`` and
``data_std``. Note that no gradient will be passed through these two outputs.

The parameter ``axis`` specifies which axis of the input shape denotes
the 'channel' (separately normalized groups).  The default is -<span class="num">1</span>, which sets the channel
axis to be the last item in the input shape.



Defined in src/operator/nn/layer_norm.cc:L156</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to layer normalization</p></dd><dt class="param">gamma</dt><dd class="cmt"><p>gamma array</p></dd><dt class="param">beta</dt><dd class="cmt"><p>beta array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis to perform layer normalization. Usually, this should be be axis of the channel dimension. Negative values means indexing from right to left.</p></dd><dt class="param">eps</dt><dd class="cmt"><p>An <code>epsilon</code> parameter to prevent division by 0.</p></dd><dt class="param">output_mean_var</dt><dd class="cmt"><p>Output the mean and std calculated along the given axis.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#LeakyReLU" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="LeakyReLU(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],act_type:Option[String],slope:Option[Float],lower_bound:Option[Float],upper_bound:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="LeakyReLU(Option[Symbol],Option[Symbol],Option[String],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">LeakyReLU</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="gamma">gamma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="act_type">act_type: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="slope">slope: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="lower_bound">lower_bound: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="upper_bound">upper_bound: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@LeakyReLU(data:Option[org.apache.mxnet.Symbol],gamma:Option[org.apache.mxnet.Symbol],act_type:Option[String],slope:Option[Float],lower_bound:Option[Float],upper_bound:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies Leaky rectified linear unit activation element-wise to the input.

Leaky ReLUs attempt to fix the <span class="lit">"dying ReLU"</span> problem by allowing a small `slope`
when the input is negative and has a slope of one when input is positive.

The following modified ReLU Activation functions are supported:

- *elu*: Exponential Linear <span class="std">Unit</span>. `y = x &gt; <span class="num">0</span> ? x : slope * (exp(x)-<span class="num">1</span>)`
- *selu*: Scaled Exponential Linear <span class="std">Unit</span>. `y = lambda * (x &gt; <span class="num">0</span> ? x : alpha * (exp(x) - <span class="num">1</span>))` where
  *lambda = <span class="num">1.0507009873554804934193349852946</span>* and *alpha = <span class="num">1.6732632423543772848170429916717</span>*.
- *leaky*: Leaky ReLU. `y = x &gt; <span class="num">0</span> ? x : slope * x`
- *prelu*: Parametric ReLU. This is same as *leaky* except that `slope` is learnt during training.
- *rrelu*: Randomized ReLU. same as *leaky* but the `slope` is uniformly and randomly chosen from
  *[lower_bound, upper_bound)* <span class="kw">for</span> training, <span class="kw">while</span> fixed to be
  *(lower_bound+upper_bound)/<span class="num">2</span>* <span class="kw">for</span> inference.



Defined in src/operator/leaky_relu.cc:L161</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to activation function.</p></dd><dt class="param">gamma</dt><dd class="cmt"><p>Input data to activation function.</p></dd><dt class="param">act_type</dt><dd class="cmt"><p>Activation function to be applied.</p></dd><dt class="param">slope</dt><dd class="cmt"><p>Init slope for the activation. (For leaky and elu only)</p></dd><dt class="param">lower_bound</dt><dd class="cmt"><p>Lower bound of random slope. (For rrelu only)</p></dd><dt class="param">upper_bound</dt><dd class="cmt"><p>Upper bound of random slope. (For rrelu only)</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#LinearRegressionOutput" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="LinearRegressionOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="LinearRegressionOutput(Option[Symbol],Option[Symbol],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">LinearRegressionOutput</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad_scale">grad_scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@LinearRegressionOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes and optimizes <span class="kw">for</span> squared loss during backward propagation.
Just outputs ``data`` during forward propagation.

If :math:`\hat{y}_i` is the predicted value of the i-th sample, and :math:`y_i` is the corresponding target value,
then the squared loss estimated over :math:`n` samples is defined as

:math:`\text{SquaredLoss}(\textbf{Y}, \hat{\textbf{Y}} ) = \frac{<span class="num">1</span>}{n} \sum_{i=<span class="num">0</span>}^{n-<span class="num">1</span>} \lVert  \textbf{y}_i - \hat{\textbf{y}}_i  \rVert_2`

.. note::
   Use the LinearRegressionOutput as the <span class="kw">final</span> output layer of a net.

The storage <span class="kw">type</span> of ``label`` can be ``default`` or ``csr``

- LinearRegressionOutput(default, default) = default
- LinearRegressionOutput(default, csr) = default

By default, gradients of <span class="kw">this</span> loss function are scaled by factor `<span class="num">1</span>/m`, where m is the number of regression outputs of a training example.
The parameter `grad_scale` can be used to change <span class="kw">this</span> scale to `grad_scale/m`.



Defined in src/operator/regression_output.cc:L92</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the function.</p></dd><dt class="param">label</dt><dd class="cmt"><p>Input label to the function.</p></dd><dt class="param">grad_scale</dt><dd class="cmt"><p>Scale the gradient by a float factor</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#LogisticRegressionOutput" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="LogisticRegressionOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="LogisticRegressionOutput(Option[Symbol],Option[Symbol],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">LogisticRegressionOutput</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad_scale">grad_scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@LogisticRegressionOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies a logistic function to the input.

The logistic function, also known as the sigmoid function, is computed as
:math:`\frac{<span class="num">1</span>}{<span class="num">1</span>+exp(-\textbf{x})}`.

Commonly, the sigmoid is used to squash the real-valued output of a linear model
:math:`wTx+b` into the [<span class="num">0</span>,<span class="num">1</span>] range so that it can be interpreted as a probability.
It is suitable <span class="kw">for</span> binary classification or probability prediction tasks.

.. note::
   Use the LogisticRegressionOutput as the <span class="kw">final</span> output layer of a net.

The storage <span class="kw">type</span> of ``label`` can be ``default`` or ``csr``

- LogisticRegressionOutput(default, default) = default
- LogisticRegressionOutput(default, csr) = default

The loss function used is the Binary Cross Entropy Loss:

:math:`-{(y\log(p) + (<span class="num">1</span> - y)\log(<span class="num">1</span> - p))}`

Where `y` is the ground truth probability of positive outcome <span class="kw">for</span> a given example, and `p` the probability predicted by the model. By default, gradients of <span class="kw">this</span> loss function are scaled by factor `<span class="num">1</span>/m`, where m is the number of regression outputs of a training example.
The parameter `grad_scale` can be used to change <span class="kw">this</span> scale to `grad_scale/m`.



Defined in src/operator/regression_output.cc:L152</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the function.</p></dd><dt class="param">label</dt><dd class="cmt"><p>Input label to the function.</p></dd><dt class="param">grad_scale</dt><dd class="cmt"><p>Scale the gradient by a float factor</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#MAERegressionOutput" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="MAERegressionOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="MAERegressionOutput(Option[Symbol],Option[Symbol],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">MAERegressionOutput</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad_scale">grad_scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@MAERegressionOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes mean absolute error of the input.

MAE is a risk metric corresponding to the expected value of the absolute error.

If :math:`\hat{y}_i` is the predicted value of the i-th sample, and :math:`y_i` is the corresponding target value,
then the mean absolute error (MAE) estimated over :math:`n` samples is defined as

:math:`\text{MAE}(\textbf{Y}, \hat{\textbf{Y}} ) = \frac{<span class="num">1</span>}{n} \sum_{i=<span class="num">0</span>}^{n-<span class="num">1</span>} \lVert \textbf{y}_i - \hat{\textbf{y}}_i \rVert_1`

.. note::
   Use the MAERegressionOutput as the <span class="kw">final</span> output layer of a net.

The storage <span class="kw">type</span> of ``label`` can be ``default`` or ``csr``

- MAERegressionOutput(default, default) = default
- MAERegressionOutput(default, csr) = default

By default, gradients of <span class="kw">this</span> loss function are scaled by factor `<span class="num">1</span>/m`, where m is the number of regression outputs of a training example.
The parameter `grad_scale` can be used to change <span class="kw">this</span> scale to `grad_scale/m`.



Defined in src/operator/regression_output.cc:L120</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the function.</p></dd><dt class="param">label</dt><dd class="cmt"><p>Input label to the function.</p></dd><dt class="param">grad_scale</dt><dd class="cmt"><p>Scale the gradient by a float factor</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#MakeLoss" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="MakeLoss(data:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],valid_thresh:Option[Float],normalization:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="MakeLoss(Option[Symbol],Option[Float],Option[Float],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">MakeLoss</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad_scale">grad_scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="valid_thresh">valid_thresh: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="normalization">normalization: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@MakeLoss(data:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],valid_thresh:Option[Float],normalization:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Make your own loss function in network construction.

This operator accepts a customized loss function symbol as a terminal loss and
the symbol should be an operator <span class="kw">with</span> no backward dependency.
The output of <span class="kw">this</span> function is the gradient of loss <span class="kw">with</span> respect to the input data.

For example, <span class="kw">if</span> you are a making a cross entropy loss function. Assume ``out`` is the
predicted output and ``label`` is the <span class="kw">true</span> label, then the cross entropy can be defined as::

  cross_entropy = label * log(out) + (<span class="num">1</span> - label) * log(<span class="num">1</span> - out)
  loss = MakeLoss(cross_entropy)

We will need to use ``MakeLoss`` when we are creating our own loss function or we want to
combine multiple loss functions. Also we may want to stop some variables' gradients
from backpropagation. See more detail in ``BlockGrad`` or ``stop_gradient``.

In addition, we can give a scale to the loss by setting ``grad_scale``,
so that the gradient of the loss will be rescaled in the backpropagation.

.. note:: This operator should be used as a <span class="std">Symbol</span> instead of NDArray.



Defined in src/operator/make_loss.cc:L71</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt class="param">grad_scale</dt><dd class="cmt"><p>Gradient scale as a supplement to unary and binary operators</p></dd><dt class="param">valid_thresh</dt><dd class="cmt"><p>clip each element in the array to 0 when it is less than <code><code>valid_thresh</code></code>. This is used when <code><code>normalization</code></code> is set to <code><code>'valid'</code></code>.</p></dd><dt class="param">normalization</dt><dd class="cmt"><p>If this is set to null, the output gradient will not be normalized. If this is set to batch, the output gradient will be divided by the batch size. If this is set to valid, the output gradient will be divided by the number of valid input elements.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Pad" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Pad(data:Option[org.apache.mxnet.Symbol],mode:String,pad_width:org.apache.mxnet.Shape,constant_value:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Pad(Option[Symbol],String,Shape,Option[Double],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Pad</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="pad_width">pad_width: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="constant_value">constant_value: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Pad(data:Option[org.apache.mxnet.Symbol],mode:String,pad_width:org.apache.mxnet.Shape,constant_value:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Pads an input array <span class="kw">with</span> a constant or edge values of the array.

.. note:: `Pad` is deprecated. Use `pad` instead.

.. note:: Current implementation only supports <span class="num">4</span>D and <span class="num">5</span>D input arrays <span class="kw">with</span> padding applied
   only on axes <span class="num">1</span>, <span class="num">2</span> and <span class="num">3.</span> Expects axes <span class="num">4</span> and <span class="num">5</span> in `pad_width` to be zero.

This operation pads an input array <span class="kw">with</span> either a `constant_value` or edge values
along each axis of the input array. The amount of padding is specified by `pad_width`.

`pad_width` is a tuple of integer padding widths <span class="kw">for</span> each axis of the format
``(before_1, after_1, ... , before_N, after_N)``. The `pad_width` should be of length ``<span class="num">2</span>*N``
where ``N`` is the number of dimensions of the array.

For dimension ``N`` of the input array, ``before_N`` and ``after_N`` indicates how many values
to add before and after the elements of the array along dimension ``N``.
The widths of the higher two dimensions ``before_1``, ``after_1``, ``before_2``,
``after_2`` must be <span class="num">0.</span>

Example::

   x = `[ [`[ [  <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>]
          [  <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>] ]

         `[ [  <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>]
          [ <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>] ] ]


        `[ `[ [ <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>]
          [ <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>] ]

         `[ [ <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>]
          [ <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>] ] ] ]

   pad(x,mode=<span class="lit">"edge"</span>, pad_width=(<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>)) =

         `[ [`[ [  <span class="num">1.</span>   <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>   <span class="num">3.</span>]
            [  <span class="num">1.</span>   <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>   <span class="num">3.</span>]
            [  <span class="num">4.</span>   <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>   <span class="num">6.</span>]
            [  <span class="num">4.</span>   <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>   <span class="num">6.</span>] ]

           `[ [  <span class="num">7.</span>   <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>   <span class="num">9.</span>]
            [  <span class="num">7.</span>   <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>   <span class="num">9.</span>]
            [ <span class="num">10.</span>  <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">12.</span>]
            [ <span class="num">10.</span>  <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">12.</span>] ] ]


          `[ `[ [ <span class="num">11.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>  <span class="num">13.</span>]
            [ <span class="num">11.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>  <span class="num">13.</span>]
            [ <span class="num">14.</span>  <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>  <span class="num">16.</span>]
            [ <span class="num">14.</span>  <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>  <span class="num">16.</span>] ]

           `[ [ <span class="num">17.</span>  <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>  <span class="num">19.</span>]
            [ <span class="num">17.</span>  <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>  <span class="num">19.</span>]
            [ <span class="num">20.</span>  <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>  <span class="num">22.</span>]
            [ <span class="num">20.</span>  <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>  <span class="num">22.</span>] ] ] ]

   pad(x, mode=<span class="lit">"constant"</span>, constant_value=<span class="num">0</span>, pad_width=(<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>)) =

         `[ [`[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ]

           `[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ] ]


          `[ `[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ]

           `[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ] ] ]




Defined in src/operator/pad.cc:L766</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>An n-dimensional input array.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Padding type to use. &quot;constant&quot; pads with <code>constant_value</code> &quot;edge&quot; pads using the edge values of the input array &quot;reflect&quot; pads by reflecting values with respect to the edges.</p></dd><dt class="param">pad_width</dt><dd class="cmt"><p>Widths of the padding regions applied to the edges of each axis. It is a tuple of integer padding widths for each axis of the format <code><code>(before_1, after_1, ... , before_N, after_N)</code></code>. It should be of length <code><code>2*N</code></code> where <code><code>N</code></code> is the number of dimensions of the array.This is equivalent to pad_width in numpy.pad, but flattened.</p></dd><dt class="param">constant_value</dt><dd class="cmt"><p>The value used for padding when <code>mode</code> is &quot;constant&quot;.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Pooling" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Pooling(data:Option[org.apache.mxnet.Symbol],kernel:Option[org.apache.mxnet.Shape],pool_type:Option[String],global_pool:Option[Boolean],cudnn_off:Option[Boolean],pooling_convention:Option[String],stride:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],p_value:Option[Int],count_include_pad:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Pooling(Option[Symbol],Option[Shape],Option[String],Option[Boolean],Option[Boolean],Option[String],Option[Shape],Option[Shape],Option[Int],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Pooling</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="kernel">kernel: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pool_type">pool_type: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="global_pool">global_pool: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="pooling_convention">pooling_convention: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="stride">stride: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pad">pad: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="p_value">p_value: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="count_include_pad">count_include_pad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="layout">layout: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Pooling(data:Option[org.apache.mxnet.Symbol],kernel:Option[org.apache.mxnet.Shape],pool_type:Option[String],global_pool:Option[Boolean],cudnn_off:Option[Boolean],pooling_convention:Option[String],stride:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],p_value:Option[Int],count_include_pad:Option[Boolean],layout:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs pooling on the input.

The shapes <span class="kw">for</span> <span class="num">1</span>-D pooling are

- **data** and **out**: *(batch_size, channel, width)* (NCW layout) or
  *(batch_size, width, channel)* (NWC layout),

The shapes <span class="kw">for</span> <span class="num">2</span>-D pooling are

- **data** and **out**: *(batch_size, channel, height, width)* (NCHW layout) or
  *(batch_size, height, width, channel)* (NHWC layout),

    out_height = f(height, kernel[<span class="num">0</span>], pad[<span class="num">0</span>], stride[<span class="num">0</span>])
    out_width = f(width, kernel[<span class="num">1</span>], pad[<span class="num">1</span>], stride[<span class="num">1</span>])

The definition of *f* depends on ``pooling_convention``, which has two options:

- **valid** (default)::

    f(x, k, p, s) = floor((x+<span class="num">2</span>*p-k)/s)+<span class="num">1</span>

- **full**, which is compatible <span class="kw">with</span> Caffe::

    f(x, k, p, s) = ceil((x+<span class="num">2</span>*p-k)/s)+<span class="num">1</span>

When ``global_pool`` is set to be <span class="kw">true</span>, then global pooling is performed. It will reset
``kernel=(height, width)`` and set the appropiate padding to <span class="num">0.</span>

Three pooling options are supported by ``pool_type``:

- **avg**: average pooling
- **max**: max pooling
- **sum**: sum pooling
- **lp**: Lp pooling

For <span class="num">3</span>-D pooling, an additional *depth* dimension is added before
*height*. Namely the input data and output will have shape *(batch_size, channel, depth,
height, width)* (NCDHW layout) or *(batch_size, depth, height, width, channel)* (NDHWC layout).

Notes on Lp pooling:

Lp pooling was first introduced by <span class="kw">this</span> paper: https:<span class="cmt">//arxiv.org/pdf/1204.3968.pdf.</span>
L-<span class="num">1</span> pooling is simply sum pooling, <span class="kw">while</span> L-inf pooling is simply max pooling.
We can see that Lp pooling stands between those two, in practice the most common value <span class="kw">for</span> p is <span class="num">2.</span>

For each window ``X``, the mathematical expression <span class="kw">for</span> Lp pooling is:

:math:`f(X) = \sqrt[p]{\sum_{x}^{X} x^p}`



Defined in src/operator/nn/pooling.cc:L417</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the pooling operator.</p></dd><dt class="param">kernel</dt><dd class="cmt"><p>Pooling kernel size: (y, x) or (d, y, x)</p></dd><dt class="param">pool_type</dt><dd class="cmt"><p>Pooling type to be applied.</p></dd><dt class="param">global_pool</dt><dd class="cmt"><p>Ignore kernel size, do global pooling based on current input feature map.</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>Turn off cudnn pooling and use MXNet pooling operator.</p></dd><dt class="param">pooling_convention</dt><dd class="cmt"><p>Pooling convention to be applied.</p></dd><dt class="param">stride</dt><dd class="cmt"><p>Stride: for pooling (y, x) or (d, y, x). Defaults to 1 for each dimension.</p></dd><dt class="param">pad</dt><dd class="cmt"><p>Pad for pooling: (y, x) or (d, y, x). Defaults to no padding.</p></dd><dt class="param">p_value</dt><dd class="cmt"><p>Value of p for Lp pooling, can be 1 or 2, required for Lp Pooling.</p></dd><dt class="param">count_include_pad</dt><dd class="cmt"><p>Only used for AvgPool, specify whether to count padding elements for averagecalculation. For example, with a 5*5 kernel on a 3*3 corner of a image,the sum of the 9 valid elements will be divided by 25 if this is set to true,or it will be divided by 9 if this is set to false. Defaults to true.</p></dd><dt class="param">layout</dt><dd class="cmt"><p>Set layout for input and output. Empty for
    default layout: NCW for 1d, NCHW for 2d and NCDHW for 3d.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Pooling_v1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Pooling_v1(data:Option[org.apache.mxnet.Symbol],kernel:Option[org.apache.mxnet.Shape],pool_type:Option[String],global_pool:Option[Boolean],pooling_convention:Option[String],stride:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Pooling_v1(Option[Symbol],Option[Shape],Option[String],Option[Boolean],Option[String],Option[Shape],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Pooling_v1</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="kernel">kernel: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pool_type">pool_type: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="global_pool">global_pool: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="pooling_convention">pooling_convention: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="stride">stride: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="pad">pad: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Pooling_v1(data:Option[org.apache.mxnet.Symbol],kernel:Option[org.apache.mxnet.Shape],pool_type:Option[String],global_pool:Option[Boolean],pooling_convention:Option[String],stride:Option[org.apache.mxnet.Shape],pad:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>This operator is DEPRECATED.
Perform pooling on the input.

The shapes <span class="kw">for</span> <span class="num">2</span>-D pooling is

- **data**: *(batch_size, channel, height, width)*
- **out**: *(batch_size, num_filter, out_height, out_width)*, <span class="kw">with</span>::

    out_height = f(height, kernel[<span class="num">0</span>], pad[<span class="num">0</span>], stride[<span class="num">0</span>])
    out_width = f(width, kernel[<span class="num">1</span>], pad[<span class="num">1</span>], stride[<span class="num">1</span>])

The definition of *f* depends on ``pooling_convention``, which has two options:

- **valid** (default)::

    f(x, k, p, s) = floor((x+<span class="num">2</span>*p-k)/s)+<span class="num">1</span>

- **full**, which is compatible <span class="kw">with</span> Caffe::

    f(x, k, p, s) = ceil((x+<span class="num">2</span>*p-k)/s)+<span class="num">1</span>

But ``global_pool`` is set to be <span class="kw">true</span>, then <span class="kw">do</span> a global pooling, namely reset
``kernel=(height, width)``.

Three pooling options are supported by ``pool_type``:

- **avg**: average pooling
- **max**: max pooling
- **sum**: sum pooling

<span class="num">1</span>-D pooling is special <span class="kw">case</span> of <span class="num">2</span>-D pooling <span class="kw">with</span> *weight=<span class="num">1</span>* and
*kernel[<span class="num">1</span>]=<span class="num">1</span>*.

For <span class="num">3</span>-D pooling, an additional *depth* dimension is added before
*height*. Namely the input data will have shape *(batch_size, channel, depth,
height, width)*.



Defined in src/operator/pooling_v1.cc:L104</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the pooling operator.</p></dd><dt class="param">kernel</dt><dd class="cmt"><p>pooling kernel size: (y, x) or (d, y, x)</p></dd><dt class="param">pool_type</dt><dd class="cmt"><p>Pooling type to be applied.</p></dd><dt class="param">global_pool</dt><dd class="cmt"><p>Ignore kernel size, do global pooling based on current input feature map.</p></dd><dt class="param">pooling_convention</dt><dd class="cmt"><p>Pooling convention to be applied.</p></dd><dt class="param">stride</dt><dd class="cmt"><p>stride: for pooling (y, x) or (d, y, x)</p></dd><dt class="param">pad</dt><dd class="cmt"><p>pad for pooling: (y, x) or (d, y, x)</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#RNN" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="RNN(data:Option[org.apache.mxnet.Symbol],parameters:Option[org.apache.mxnet.Symbol],state:Option[org.apache.mxnet.Symbol],state_cell:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],state_size:Int,num_layers:Int,bidirectional:Option[Boolean],mode:String,p:Option[Float],state_outputs:Option[Boolean],projection_size:Option[Int],lstm_state_clip_min:Option[Double],lstm_state_clip_max:Option[Double],lstm_state_clip_nan:Option[Boolean],use_sequence_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="RNN(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Int,Int,Option[Boolean],String,Option[Float],Option[Boolean],Option[Int],Option[Double],Option[Double],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">RNN</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="parameters">parameters: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="state">state: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="state_cell">state_cell: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="sequence_length">sequence_length: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="state_size">state_size: <span class="extype" name="scala.Int">Int</span></span>, <span name="num_layers">num_layers: <span class="extype" name="scala.Int">Int</span></span>, <span name="bidirectional">bidirectional: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="state_outputs">state_outputs: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="projection_size">projection_size: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="lstm_state_clip_min">lstm_state_clip_min: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="lstm_state_clip_max">lstm_state_clip_max: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="lstm_state_clip_nan">lstm_state_clip_nan: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_sequence_length">use_sequence_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@RNN(data:Option[org.apache.mxnet.Symbol],parameters:Option[org.apache.mxnet.Symbol],state:Option[org.apache.mxnet.Symbol],state_cell:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],state_size:Int,num_layers:Int,bidirectional:Option[Boolean],mode:String,p:Option[Float],state_outputs:Option[Boolean],projection_size:Option[Int],lstm_state_clip_min:Option[Double],lstm_state_clip_max:Option[Double],lstm_state_clip_nan:Option[Boolean],use_sequence_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies recurrent layers to input data. Currently, vanilla RNN, LSTM and GRU are
implemented, <span class="kw">with</span> both multi-layer and bidirectional support.

When the input data is of <span class="kw">type</span> float32 and the environment variables MXNET_CUDA_ALLOW_TENSOR_CORE
and MXNET_CUDA_TENSOR_OP_MATH_ALLOW_CONVERSION are set to <span class="num">1</span>, <span class="kw">this</span> operator will <span class="kw">try</span> to use
pseudo-float16 precision (float32 math <span class="kw">with</span> float16 I/O) precision in order to use
Tensor Cores on suitable NVIDIA GPUs. This can sometimes give significant speedups.

**Vanilla RNN**

Applies a single-gate recurrent layer to input X. Two kinds of activation function are supported:
ReLU and Tanh.

With ReLU activation function:

.. math::
    h_t = relu(W_{ih} * x_t + b_{ih}  +  W_{hh} * h_{(t-<span class="num">1</span>)} + b_{hh})

With Tanh activtion function:

.. math::
    h_t = \tanh(W_{ih} * x_t + b_{ih}  +  W_{hh} * h_{(t-<span class="num">1</span>)} + b_{hh})

Reference paper: Finding structure in time - Elman, <span class="num">1988.</span>
https:<span class="cmt">//crl.ucsd.edu/~elman/Papers/fsit.pdf</span>

**LSTM**

<span class="std">Long</span> <span class="std">Short</span>-Term Memory - Hochreiter, <span class="num">1997.</span> http:<span class="cmt">//www.bioinf.jku.at/publications/older/2604.pdf</span>

.. math::
  \begin{array}{ll}
            i_t = \mathrm{sigmoid}(W_{ii} x_t + b_{ii} + W_{hi} h_{(t-<span class="num">1</span>)} + b_{hi}) \\
            f_t = \mathrm{sigmoid}(W_{<span class="kw">if</span>} x_t + b_{<span class="kw">if</span>} + W_{hf} h_{(t-<span class="num">1</span>)} + b_{hf}) \\
            g_t = \tanh(W_{ig} x_t + b_{ig} + W_{hc} h_{(t-<span class="num">1</span>)} + b_{hg}) \\
            o_t = \mathrm{sigmoid}(W_{io} x_t + b_{io} + W_{ho} h_{(t-<span class="num">1</span>)} + b_{ho}) \\
            c_t = f_t * c_{(t-<span class="num">1</span>)} + i_t * g_t \\
            h_t = o_t * \tanh(c_t)
            \end{array}

**GRU**

Gated Recurrent <span class="std">Unit</span> - Cho et al. <span class="num">2014.</span> http:<span class="cmt">//arxiv.org/abs/1406.1078</span>

The definition of GRU here is slightly different from paper but compatible <span class="kw">with</span> CUDNN.

.. math::
  \begin{array}{ll}
            r_t = \mathrm{sigmoid}(W_{ir} x_t + b_{ir} + W_{hr} h_{(t-<span class="num">1</span>)} + b_{hr}) \\
            z_t = \mathrm{sigmoid}(W_{iz} x_t + b_{iz} + W_{hz} h_{(t-<span class="num">1</span>)} + b_{hz}) \\
            n_t = \tanh(W_{in} x_t + b_{in} + r_t * (W_{hn} h_{(t-<span class="num">1</span>)}+ b_{hn})) \\
            h_t = (<span class="num">1</span> - z_t) * n_t + z_t * h_{(t-<span class="num">1</span>)} \\
            \end{array}


Defined in src/operator/rnn.cc:L354</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to RNN</p></dd><dt class="param">parameters</dt><dd class="cmt"><p>Vector of all RNN trainable parameters concatenated</p></dd><dt class="param">state</dt><dd class="cmt"><p>initial hidden state of the RNN</p></dd><dt class="param">state_cell</dt><dd class="cmt"><p>initial cell state for LSTM networks (only for LSTM)</p></dd><dt class="param">sequence_length</dt><dd class="cmt"><p>Vector of valid sequence lengths for each element in batch. (Only used if use_sequence_length kwarg is True)</p></dd><dt class="param">state_size</dt><dd class="cmt"><p>size of the state for each layer</p></dd><dt class="param">num_layers</dt><dd class="cmt"><p>number of stacked layers</p></dd><dt class="param">bidirectional</dt><dd class="cmt"><p>whether to use bidirectional recurrent layers</p></dd><dt class="param">mode</dt><dd class="cmt"><p>the type of RNN to compute</p></dd><dt class="param">p</dt><dd class="cmt"><p>drop rate of the dropout on the outputs of each RNN layer, except the last layer.</p></dd><dt class="param">state_outputs</dt><dd class="cmt"><p>Whether to have the states as symbol outputs.</p></dd><dt class="param">projection_size</dt><dd class="cmt"><p>size of project size</p></dd><dt class="param">lstm_state_clip_min</dt><dd class="cmt"><p>Minimum clip value of LSTM states. This option must be used together with lstm_state_clip_max.</p></dd><dt class="param">lstm_state_clip_max</dt><dd class="cmt"><p>Maximum clip value of LSTM states. This option must be used together with lstm_state_clip_min.</p></dd><dt class="param">lstm_state_clip_nan</dt><dd class="cmt"><p>Whether to stop NaN from propagating in state by clipping it to min/max. If clipping range is not specified, this option is ignored.</p></dd><dt class="param">use_sequence_length</dt><dd class="cmt"><p>If set to true, this layer takes in an extra input parameter <code>sequence_length</code> to specify variable length sequence</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ROIPooling" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ROIPooling(data:Option[org.apache.mxnet.Symbol],rois:Option[org.apache.mxnet.Symbol],pooled_size:org.apache.mxnet.Shape,spatial_scale:Float,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ROIPooling(Option[Symbol],Option[Symbol],Shape,Float,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ROIPooling</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rois">rois: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="pooled_size">pooled_size: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="spatial_scale">spatial_scale: <span class="extype" name="scala.Float">Float</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ROIPooling(data:Option[org.apache.mxnet.Symbol],rois:Option[org.apache.mxnet.Symbol],pooled_size:org.apache.mxnet.Shape,spatial_scale:Float,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs region of interest(ROI) pooling on the input array.

ROI pooling is a variant of a max pooling layer, in which the output size is fixed and
region of interest is a parameter. Its purpose is to perform max pooling on the inputs
of non-uniform sizes to obtain fixed-size feature maps. ROI pooling is a neural-net
layer mostly used in training a `Fast R-CNN` network <span class="kw">for</span> <span class="kw">object</span> detection.

This operator takes a <span class="num">4</span>D feature map as an input array and region proposals as `rois`,
then it pools over sub-regions of input and produces a fixed-sized output array
regardless of the ROI size.

To crop the feature map accordingly, you can resize the bounding box coordinates
by changing the parameters `rois` and `spatial_scale`.

The cropped feature maps are pooled by standard max pooling operation to a fixed size output
indicated by a `pooled_size` parameter. batch_size will change to the number of region
bounding boxes after `ROIPooling`.

The size of each region of interest doesn't have to be perfectly divisible by
the number of pooling sections(`pooled_size`).

Example::

  x = `[ [`[ [  <span class="num">0.</span>,   <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>,   <span class="num">5.</span>],
         [  <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>],
         [ <span class="num">12.</span>,  <span class="num">13.</span>,  <span class="num">14.</span>,  <span class="num">15.</span>,  <span class="num">16.</span>,  <span class="num">17.</span>],
         [ <span class="num">18.</span>,  <span class="num">19.</span>,  <span class="num">20.</span>,  <span class="num">21.</span>,  <span class="num">22.</span>,  <span class="num">23.</span>],
         [ <span class="num">24.</span>,  <span class="num">25.</span>,  <span class="num">26.</span>,  <span class="num">27.</span>,  <span class="num">28.</span>,  <span class="num">29.</span>],
         [ <span class="num">30.</span>,  <span class="num">31.</span>,  <span class="num">32.</span>,  <span class="num">33.</span>,  <span class="num">34.</span>,  <span class="num">35.</span>],
         [ <span class="num">36.</span>,  <span class="num">37.</span>,  <span class="num">38.</span>,  <span class="num">39.</span>,  <span class="num">40.</span>,  <span class="num">41.</span>],
         [ <span class="num">42.</span>,  <span class="num">43.</span>,  <span class="num">44.</span>,  <span class="num">45.</span>,  <span class="num">46.</span>,  <span class="num">47.</span>] ] ] ]

  <span class="cmt">// region of interest i.e. bounding box coordinates.</span>
  y = `[ [<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">4</span>,<span class="num">4</span>] ]

  <span class="cmt">// returns array of shape (2,2) according to the given roi with max pooling.</span>
  ROIPooling(x, y, (<span class="num">2</span>,<span class="num">2</span>), <span class="num">1.0</span>) = `[ [`[ [ <span class="num">14.</span>,  <span class="num">16.</span>],
                                    [ <span class="num">26.</span>,  <span class="num">28.</span>] ] ] ]

  <span class="cmt">// region of interest is changed due to the change in `spacial_scale` parameter.</span>
  ROIPooling(x, y, (<span class="num">2</span>,<span class="num">2</span>), <span class="num">0.7</span>) = `[ [`[ [  <span class="num">7.</span>,   <span class="num">9.</span>],
                                    [ <span class="num">19.</span>,  <span class="num">21.</span>] ] ] ]



Defined in src/operator/roi_pooling.cc:L225</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array to the pooling operator,  a 4D Feature maps</p></dd><dt class="param">rois</dt><dd class="cmt"><p>Bounding box coordinates, a 2D array of <code>[ [batch_index, x1, y1, x2, y2] ], where (x1, y1) and (x2, y2) are top left and bottom right corners of designated region of interest. </code>batch_index<code> indicates the index of corresponding image in the input array</code></p></dd><dt class="param">pooled_size</dt><dd class="cmt"><p>ROI pooling output shape (h,w)</p></dd><dt class="param">spatial_scale</dt><dd class="cmt"><p>Ratio of input feature map height (or w) to raw image height (or w). Equals the reciprocal of total stride in convolutional layers</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Reshape" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Reshape(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],reverse:Option[Boolean],target_shape:Option[org.apache.mxnet.Shape],keep_highest:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Reshape(Option[Symbol],Option[Shape],Option[Boolean],Option[Shape],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Reshape</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="reverse">reverse: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="target_shape">target_shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keep_highest">keep_highest: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Reshape(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],reverse:Option[Boolean],target_shape:Option[org.apache.mxnet.Shape],keep_highest:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Reshapes the input array.
.. note:: ``Reshape`` is deprecated, use ``reshape``
Given an array and a shape, <span class="kw">this</span> function returns a copy of the array in the <span class="kw">new</span> shape.
The shape is a tuple of integers such as (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>). The size of the <span class="kw">new</span> shape should be same as the size of the input array.
Example::
  reshape([<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>], shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [<span class="num">1</span>,<span class="num">2</span>], [<span class="num">3</span>,<span class="num">4</span>] ]
<span class="std">Some</span> dimensions of the shape can take special values from the set {<span class="num">0</span>, -<span class="num">1</span>, -<span class="num">2</span>, -<span class="num">3</span>, -<span class="num">4</span>}. The significance of each is explained below:
- ``<span class="num">0</span>``  copy <span class="kw">this</span> dimension from the input to the output shape.
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">4</span>,<span class="num">0</span>,<span class="num">2</span>), output shape = (<span class="num">4</span>,<span class="num">3</span>,<span class="num">2</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">2</span>,<span class="num">0</span>,<span class="num">0</span>), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
- ``-<span class="num">1</span>`` infers the dimension of the output shape by using the remainder of the input dimensions
  keeping the size of the <span class="kw">new</span> array same as that of the input array.
  At most one dimension of shape can be -<span class="num">1.</span>
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">6</span>,<span class="num">1</span>,-<span class="num">1</span>), output shape = (<span class="num">6</span>,<span class="num">1</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">3</span>,-<span class="num">1</span>,<span class="num">8</span>), output shape = (<span class="num">3</span>,<span class="num">1</span>,<span class="num">8</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape=(-<span class="num">1</span>,), output shape = (<span class="num">24</span>,)
- ``-<span class="num">2</span>`` copy all/remainder of the input dimensions to the output shape.
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">2</span>,), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">2</span>,-<span class="num">2</span>), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">2</span>,<span class="num">1</span>,<span class="num">1</span>), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">1</span>,<span class="num">1</span>)
- ``-<span class="num">3</span>`` use the product of two consecutive dimensions of the input shape as the output dimension.
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">3</span>,<span class="num">4</span>), output shape = (<span class="num">6</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>), shape = (-<span class="num">3</span>,-<span class="num">3</span>), output shape = (<span class="num">6</span>,<span class="num">20</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">0</span>,-<span class="num">3</span>), output shape = (<span class="num">2</span>,<span class="num">12</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">3</span>,-<span class="num">2</span>), output shape = (<span class="num">6</span>,<span class="num">4</span>)
- ``-<span class="num">4</span>`` split one dimension of the input into two dimensions passed subsequent to -<span class="num">4</span> in shape (can contain -<span class="num">1</span>).
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">4</span>,<span class="num">1</span>,<span class="num">2</span>,-<span class="num">2</span>), output shape =(<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">2</span>,-<span class="num">4</span>,-<span class="num">1</span>,<span class="num">3</span>,-<span class="num">2</span>), output shape = (<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">4</span>)
If the argument `reverse` is set to <span class="num">1</span>, then the special values are inferred from right to left.
  Example::
  - without reverse=<span class="num">1</span>, <span class="kw">for</span> input shape = (<span class="num">10</span>,<span class="num">5</span>,<span class="num">4</span>), shape = (-<span class="num">1</span>,<span class="num">0</span>), output shape would be (<span class="num">40</span>,<span class="num">5</span>)
  - <span class="kw">with</span> reverse=<span class="num">1</span>, output shape will be (<span class="num">50</span>,<span class="num">4</span>).


Defined in src/operator/tensor/matrix_op.cc:L175</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to reshape.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>The target shape</p></dd><dt class="param">reverse</dt><dd class="cmt"><p>If true then the special values are inferred from right to left</p></dd><dt class="param">target_shape</dt><dd class="cmt"><p>(Deprecated! Use <code><code>shape</code></code> instead.) Target new shape. One and only one dim can be 0, in which case it will be inferred from the rest of dims</p></dd><dt class="param">keep_highest</dt><dd class="cmt"><p>(Deprecated! Use <code><code>shape</code></code> instead.) Whether keep the highest dim unchanged.If set to true, then the first dim in target_shape is ignored,and always fixed as input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SVMOutput" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SVMOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],margin:Option[Float],regularization_coefficient:Option[Float],use_linear:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SVMOutput(Option[Symbol],Option[Symbol],Option[Float],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SVMOutput</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="margin">margin: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="regularization_coefficient">regularization_coefficient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="use_linear">use_linear: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SVMOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],margin:Option[Float],regularization_coefficient:Option[Float],use_linear:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes support vector machine based transformation of the input.

This tutorial demonstrates using SVM as output layer <span class="kw">for</span> classification instead of softmax:
https:<span class="cmt">//github.com/dmlc/mxnet/tree/master/example/svm_mnist.</span></pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data for SVM transformation.</p></dd><dt class="param">label</dt><dd class="cmt"><p>Class label for the input data.</p></dd><dt class="param">margin</dt><dd class="cmt"><p>The loss function penalizes outputs that lie outside this margin. Default margin is 1.</p></dd><dt class="param">regularization_coefficient</dt><dd class="cmt"><p>Regularization parameter for the SVM. This balances the tradeoff between coefficient size and error.</p></dd><dt class="param">use_linear</dt><dd class="cmt"><p>Whether to use L1-SVM objective. L2-SVM objective is used by default.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SequenceLast" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SequenceLast(data:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],use_sequence_length:Option[Boolean],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SequenceLast(Option[Symbol],Option[Symbol],Option[Boolean],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SequenceLast</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="sequence_length">sequence_length: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="use_sequence_length">use_sequence_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SequenceLast(data:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],use_sequence_length:Option[Boolean],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Takes the last element of a sequence.

This function takes an n-dimensional input array of the form
[max_sequence_length, batch_size, other_feature_dims] and returns a (n-<span class="num">1</span>)-dimensional array
of the form [batch_size, other_feature_dims].

Parameter `sequence_length` is used to handle variable-length sequences. `sequence_length` should be
an input array of positive ints of dimension [batch_size]. To use <span class="kw">this</span> parameter,
set `use_sequence_length` to `True`, otherwise each example in the batch is assumed
to have the max sequence length.

.. note:: Alternatively, you can also use `take` operator.

Example::

   x = `[ `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
         [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>],
         [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>] ],

        `[ [ <span class="num">10.</span>,   <span class="num">11.</span>,   <span class="num">12.</span>],
         [ <span class="num">13.</span>,   <span class="num">14.</span>,   <span class="num">15.</span>],
         [ <span class="num">16.</span>,   <span class="num">17.</span>,   <span class="num">18.</span>] ],

        `[ [  <span class="num">19.</span>,   <span class="num">20.</span>,   <span class="num">21.</span>],
         [  <span class="num">22.</span>,   <span class="num">23.</span>,   <span class="num">24.</span>],
         [  <span class="num">25.</span>,   <span class="num">26.</span>,   <span class="num">27.</span>] ] ]

   <span class="cmt">// returns last sequence when sequence_length parameter is not used</span>
   SequenceLast(x) = `[ [  <span class="num">19.</span>,   <span class="num">20.</span>,   <span class="num">21.</span>],
                      [  <span class="num">22.</span>,   <span class="num">23.</span>,   <span class="num">24.</span>],
                      [  <span class="num">25.</span>,   <span class="num">26.</span>,   <span class="num">27.</span>] ]

   <span class="cmt">// sequence_length is used</span>
   SequenceLast(x, sequence_length=[<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>], use_sequence_length=True) =
            `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
             [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>],
             [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>] ]

   <span class="cmt">// sequence_length is used</span>
   SequenceLast(x, sequence_length=[<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>], use_sequence_length=True) =
            `[ [  <span class="num">1.</span>,    <span class="num">2.</span>,   <span class="num">3.</span>],
             [  <span class="num">13.</span>,  <span class="num">14.</span>,  <span class="num">15.</span>],
             [  <span class="num">25.</span>,  <span class="num">26.</span>,  <span class="num">27.</span>] ]



Defined in src/operator/sequence_last.cc:L106</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>n-dimensional input array of the form [max_sequence_length, batch_size, other_feature_dims] where n&gt;2</p></dd><dt class="param">sequence_length</dt><dd class="cmt"><p>vector of sequence lengths of the form [batch_size]</p></dd><dt class="param">use_sequence_length</dt><dd class="cmt"><p>If set to true, this layer takes in an extra input parameter <code>sequence_length</code> to specify variable length sequence</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The sequence axis. Only values of 0 and 1 are currently supported.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SequenceMask" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SequenceMask(data:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],use_sequence_length:Option[Boolean],value:Option[Float],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SequenceMask(Option[Symbol],Option[Symbol],Option[Boolean],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SequenceMask</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="sequence_length">sequence_length: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="use_sequence_length">use_sequence_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="value">value: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SequenceMask(data:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],use_sequence_length:Option[Boolean],value:Option[Float],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Sets all elements outside the sequence to a constant value.

This function takes an n-dimensional input array of the form
[max_sequence_length, batch_size, other_feature_dims] and returns an array of the same shape.

Parameter `sequence_length` is used to handle variable-length sequences. `sequence_length`
should be an input array of positive ints of dimension [batch_size].
To use <span class="kw">this</span> parameter, set `use_sequence_length` to `True`,
otherwise each example in the batch is assumed to have the max sequence length and
<span class="kw">this</span> operator works as the `identity` operator.

Example::

   x = `[ `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
         [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ],

        `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
         [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

        `[ [ <span class="num">13.</span>,  <span class="num">14.</span>,   <span class="num">15.</span>],
         [ <span class="num">16.</span>,  <span class="num">17.</span>,   <span class="num">18.</span>] ] ]

   <span class="cmt">// Batch 1</span>
   B1 = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
         [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
         [ <span class="num">13.</span>,  <span class="num">14.</span>,  <span class="num">15.</span>] ]

   <span class="cmt">// Batch 2</span>
   B2 = `[ [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>],
         [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>],
         [ <span class="num">16.</span>,  <span class="num">17.</span>,  <span class="num">18.</span>] ]

   <span class="cmt">// works as identity operator when sequence_length parameter is not used</span>
   SequenceMask(x) = `[ `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
                       [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ],

                      `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
                       [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

                      `[ [ <span class="num">13.</span>,  <span class="num">14.</span>,   <span class="num">15.</span>],
                       [ <span class="num">16.</span>,  <span class="num">17.</span>,   <span class="num">18.</span>] ] ]

   <span class="cmt">// sequence_length [1,1] means 1 of each batch will be kept</span>
   <span class="cmt">// and other rows are masked with default mask value = 0</span>
   SequenceMask(x, sequence_length=[<span class="num">1</span>,<span class="num">1</span>], use_sequence_length=True) =
                `[ `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
                  [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ],

                 `[ [  <span class="num">0.</span>,   <span class="num">0.</span>,   <span class="num">0.</span>],
                  [  <span class="num">0.</span>,   <span class="num">0.</span>,   <span class="num">0.</span>] ],

                 `[ [  <span class="num">0.</span>,   <span class="num">0.</span>,   <span class="num">0.</span>],
                  [  <span class="num">0.</span>,   <span class="num">0.</span>,   <span class="num">0.</span>] ] ]

   <span class="cmt">// sequence_length [2,3] means 2 of batch B1 and 3 of batch B2 will be kept</span>
   <span class="cmt">// and other rows are masked with value = 1</span>
   SequenceMask(x, sequence_length=[<span class="num">2</span>,<span class="num">3</span>], use_sequence_length=True, value=<span class="num">1</span>) =
                `[ `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
                  [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ],

                 `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
                  [  <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

                 `[ [   <span class="num">1.</span>,   <span class="num">1.</span>,   <span class="num">1.</span>],
                  [  <span class="num">16.</span>,  <span class="num">17.</span>,  <span class="num">18.</span>] ] ]



Defined in src/operator/sequence_mask.cc:L186</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>n-dimensional input array of the form [max_sequence_length, batch_size, other_feature_dims] where n&gt;2</p></dd><dt class="param">sequence_length</dt><dd class="cmt"><p>vector of sequence lengths of the form [batch_size]</p></dd><dt class="param">use_sequence_length</dt><dd class="cmt"><p>If set to true, this layer takes in an extra input parameter <code>sequence_length</code> to specify variable length sequence</p></dd><dt class="param">value</dt><dd class="cmt"><p>The value to be used as a mask.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The sequence axis. Only values of 0 and 1 are currently supported.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SequenceReverse" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SequenceReverse(data:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],use_sequence_length:Option[Boolean],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SequenceReverse(Option[Symbol],Option[Symbol],Option[Boolean],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SequenceReverse</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="sequence_length">sequence_length: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="use_sequence_length">use_sequence_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SequenceReverse(data:Option[org.apache.mxnet.Symbol],sequence_length:Option[org.apache.mxnet.Symbol],use_sequence_length:Option[Boolean],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Reverses the elements of each sequence.

This function takes an n-dimensional input array of the form [max_sequence_length, batch_size, other_feature_dims]
and returns an array of the same shape.

Parameter `sequence_length` is used to handle variable-length sequences.
`sequence_length` should be an input array of positive ints of dimension [batch_size].
To use <span class="kw">this</span> parameter, set `use_sequence_length` to `True`,
otherwise each example in the batch is assumed to have the max sequence length.

Example::

   x = `[ `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
         [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ],

        `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
         [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

        `[ [ <span class="num">13.</span>,  <span class="num">14.</span>,   <span class="num">15.</span>],
         [ <span class="num">16.</span>,  <span class="num">17.</span>,   <span class="num">18.</span>] ] ]

   <span class="cmt">// Batch 1</span>
   B1 = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
         [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
         [ <span class="num">13.</span>,  <span class="num">14.</span>,  <span class="num">15.</span>] ]

   <span class="cmt">// Batch 2</span>
   B2 = `[ [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>],
         [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>],
         [ <span class="num">16.</span>,  <span class="num">17.</span>,  <span class="num">18.</span>] ]

   <span class="cmt">// returns reverse sequence when sequence_length parameter is not used</span>
   SequenceReverse(x) = `[ `[ [ <span class="num">13.</span>,  <span class="num">14.</span>,   <span class="num">15.</span>],
                          [ <span class="num">16.</span>,  <span class="num">17.</span>,   <span class="num">18.</span>] ],

                         `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
                          [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

                         `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
                          [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ] ]

   <span class="cmt">// sequence_length [2,2] means 2 rows of</span>
   <span class="cmt">// both batch B1 and B2 will be reversed.</span>
   SequenceReverse(x, sequence_length=[<span class="num">2</span>,<span class="num">2</span>], use_sequence_length=True) =
                     `[ `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
                       [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

                      `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
                       [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ],

                      `[ [ <span class="num">13.</span>,  <span class="num">14.</span>,   <span class="num">15.</span>],
                       [ <span class="num">16.</span>,  <span class="num">17.</span>,   <span class="num">18.</span>] ] ]

   <span class="cmt">// sequence_length [2,3] means 2 of batch B2 and 3 of batch B3</span>
   <span class="cmt">// will be reversed.</span>
   SequenceReverse(x, sequence_length=[<span class="num">2</span>,<span class="num">3</span>], use_sequence_length=True) =
                    `[ `[ [  <span class="num">7.</span>,   <span class="num">8.</span>,   <span class="num">9.</span>],
                      [ <span class="num">16.</span>,  <span class="num">17.</span>,  <span class="num">18.</span>] ],

                     `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>],
                      [ <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ],

                     `[ [ <span class="num">13.</span>,  <span class="num">14</span>,   <span class="num">15.</span>],
                      [  <span class="num">4.</span>,   <span class="num">5.</span>,   <span class="num">6.</span>] ] ]



Defined in src/operator/sequence_reverse.cc:L122</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>n-dimensional input array of the form [max_sequence_length, batch_size, other dims] where n&gt;2</p></dd><dt class="param">sequence_length</dt><dd class="cmt"><p>vector of sequence lengths of the form [batch_size]</p></dd><dt class="param">use_sequence_length</dt><dd class="cmt"><p>If set to true, this layer takes in an extra input parameter <code>sequence_length</code> to specify variable length sequence</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The sequence axis. Only 0 is currently supported.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SliceChannel" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SliceChannel(data:Option[org.apache.mxnet.Symbol],num_outputs:Int,axis:Option[Int],squeeze_axis:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SliceChannel(Option[Symbol],Int,Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SliceChannel</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="num_outputs">num_outputs: <span class="extype" name="scala.Int">Int</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="squeeze_axis">squeeze_axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SliceChannel(data:Option[org.apache.mxnet.Symbol],num_outputs:Int,axis:Option[Int],squeeze_axis:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Splits an array along a particular axis into multiple sub-arrays.

.. note:: ``SliceChannel`` is deprecated. Use ``split`` instead.

**Note** that `num_outputs` should evenly divide the length of the axis
along which to split the array.

Example::

   x  = `[ `[ [ <span class="num">1.</span>]
          [ <span class="num">2.</span>] ]
         `[ [ <span class="num">3.</span>]
          [ <span class="num">4.</span>] ]
         `[ [ <span class="num">5.</span>]
          [ <span class="num">6.</span>] ] ]
   x.shape = (<span class="num">3</span>, <span class="num">2</span>, <span class="num">1</span>)

   y = split(x, axis=<span class="num">1</span>, num_outputs=<span class="num">2</span>) <span class="cmt">// a list of 2 arrays with shape (3, 1, 1)</span>
   y = `[ `[ [ <span class="num">1.</span>] ]
        `[ [ <span class="num">3.</span>] ]
        `[ [ <span class="num">5.</span>] ] ]

       `[ `[ [ <span class="num">2.</span>] ]
        `[ [ <span class="num">4.</span>] ]
        `[ [ <span class="num">6.</span>] ] ]

   y[<span class="num">0</span>].shape = (<span class="num">3</span>, <span class="num">1</span>, <span class="num">1</span>)

   z = split(x, axis=<span class="num">0</span>, num_outputs=<span class="num">3</span>) <span class="cmt">// a list of 3 arrays with shape (1, 2, 1)</span>
   z = `[ `[ [ <span class="num">1.</span>]
         [ <span class="num">2.</span>] ] ]

       `[ `[ [ <span class="num">3.</span>]
         [ <span class="num">4.</span>] ] ]

       `[ `[ [ <span class="num">5.</span>]
         [ <span class="num">6.</span>] ] ]

   z[<span class="num">0</span>].shape = (<span class="num">1</span>, <span class="num">2</span>, <span class="num">1</span>)

`squeeze_axis=<span class="num">1</span>` removes the axis <span class="kw">with</span> length <span class="num">1</span> from the shapes of the output arrays.
**Note** that setting `squeeze_axis` to ``<span class="num">1</span>`` removes axis <span class="kw">with</span> length <span class="num">1</span> only
along the `axis` which it is split.
Also `squeeze_axis` can be set to <span class="kw">true</span> only <span class="kw">if</span> ``input.shape[axis] == num_outputs``.

Example::

   z = split(x, axis=<span class="num">0</span>, num_outputs=<span class="num">3</span>, squeeze_axis=<span class="num">1</span>) <span class="cmt">// a list of 3 arrays with shape (2, 1)</span>
   z = `[ [ <span class="num">1.</span>]
        [ <span class="num">2.</span>] ]

       `[ [ <span class="num">3.</span>]
        [ <span class="num">4.</span>] ]

       `[ [ <span class="num">5.</span>]
        [ <span class="num">6.</span>] ]
   z[<span class="num">0</span>].shape = (<span class="num">2</span> ,<span class="num">1</span> )



Defined in src/operator/slice_channel.cc:L107</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">num_outputs</dt><dd class="cmt"><p>Number of splits. Note that this should evenly divide the length of the <code>axis</code>.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which to split.</p></dd><dt class="param">squeeze_axis</dt><dd class="cmt"><p>If true, Removes the axis with length 1 from the shapes of the output arrays. **Note** that setting <code>squeeze_axis</code> to <code><code>true</code></code> removes axis with length 1 only along the <code>axis</code> which it is split. Also <code>squeeze_axis</code> can be set to <code><code>true</code></code> only if <code><code>input.shape[axis] == num_outputs</code></code>.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#Softmax" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="Softmax(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],ignore_label:Option[Float],multi_output:Option[Boolean],use_ignore:Option[Boolean],preserve_shape:Option[Boolean],normalization:Option[String],out_grad:Option[Boolean],smooth_alpha:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Softmax(Option[Symbol],Option[Symbol],Option[Float],Option[Float],Option[Boolean],Option[Boolean],Option[Boolean],Option[String],Option[Boolean],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Softmax</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad_scale">grad_scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="ignore_label">ignore_label: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="multi_output">multi_output: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_ignore">use_ignore: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="preserve_shape">preserve_shape: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="normalization">normalization: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out_grad">out_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="smooth_alpha">smooth_alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Softmax(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],ignore_label:Option[Float],multi_output:Option[Boolean],use_ignore:Option[Boolean],preserve_shape:Option[Boolean],normalization:Option[String],out_grad:Option[Boolean],smooth_alpha:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the gradient of cross entropy loss <span class="kw">with</span> respect to softmax output.

- This operator computes the gradient in two steps.
  The cross entropy loss does not actually need to be computed.

  - Applies softmax function on the input array.
  - Computes and returns the gradient of cross entropy loss w.r.t. the softmax output.

- The softmax function, cross entropy loss and gradient is given by:

  - Softmax <span class="std">Function</span>:

    .. math:: \text{softmax}(x)_i = \frac{exp(x_i)}{\sum_j exp(x_j)}

  - Cross Entropy <span class="std">Function</span>:

    .. math:: \text{CE(label, output)} = - \sum_i \text{label}_i \log(\text{output}_i)

  - The gradient of cross entropy loss w.r.t softmax output:

    .. math:: \text{gradient} = \text{output} - \text{label}

- During forward propagation, the softmax function is computed <span class="kw">for</span> each instance in the input array.

  For general *N*-D input arrays <span class="kw">with</span> shape :math:`(d_1, d_2, ..., d_n)`. The size is
  :math:`s=d_1 \cdot d_2 \cdot \cdot \cdot d_n`. We can use the parameters `preserve_shape`
  and `multi_output` to specify the way to compute softmax:

  - By default, `preserve_shape` is ``<span class="kw">false</span>``. This operator will reshape the input array
    into a <span class="num">2</span>-D array <span class="kw">with</span> shape :math:`(d_1, \frac{s}{d_1})` and then compute the softmax function <span class="kw">for</span>
    each row in the reshaped array, and afterwards reshape it back to the original shape
    :math:`(d_1, d_2, ..., d_n)`.
  - If `preserve_shape` is ``<span class="kw">true</span>``, the softmax function will be computed along
    the last axis (`axis` = ``-<span class="num">1</span>``).
  - If `multi_output` is ``<span class="kw">true</span>``, the softmax function will be computed along
    the second axis (`axis` = ``<span class="num">1</span>``).

- During backward propagation, the gradient of cross-entropy loss w.r.t softmax output array is computed.
  The provided label can be a one-hot label array or a probability label array.

  - If the parameter `use_ignore` is ``<span class="kw">true</span>``, `ignore_label` can specify input instances
    <span class="kw">with</span> a particular label to be ignored during backward propagation. **This has no effect when
    softmax `output` has same shape as `label`**.

    Example::

      data = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>],[<span class="num">2</span>,<span class="num">2</span>,<span class="num">2</span>,<span class="num">2</span>],[<span class="num">3</span>,<span class="num">3</span>,<span class="num">3</span>,<span class="num">3</span>],[<span class="num">4</span>,<span class="num">4</span>,<span class="num">4</span>,<span class="num">4</span>] ]
      label = [<span class="num">1</span>,<span class="num">0</span>,<span class="num">2</span>,<span class="num">3</span>]
      ignore_label = <span class="num">1</span>
      SoftmaxOutput(data=data, label = label,\
                    multi_output=<span class="kw">true</span>, use_ignore=<span class="kw">true</span>,\
                    ignore_label=ignore_label)
      ## forward softmax output
      `[ [ <span class="num">0.0320586</span>   <span class="num">0.08714432</span>  <span class="num">0.23688284</span>  <span class="num">0.64391428</span>]
       [ <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>      ]
       [ <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>      ]
       [ <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>      ] ]
      ## backward gradient output
      `[ [ <span class="num">0.</span>    <span class="num">0.</span>    <span class="num">0.</span>    <span class="num">0.</span>  ]
       [-<span class="num">0.75</span>  <span class="num">0.25</span>  <span class="num">0.25</span>  <span class="num">0.25</span>]
       [ <span class="num">0.25</span>  <span class="num">0.25</span> -<span class="num">0.75</span>  <span class="num">0.25</span>]
       [ <span class="num">0.25</span>  <span class="num">0.25</span>  <span class="num">0.25</span> -<span class="num">0.75</span>] ]
      ## notice that the first row is all <span class="num">0</span> because label[<span class="num">0</span>] is <span class="num">1</span>, which is equal to ignore_label.

  - The parameter `grad_scale` can be used to rescale the gradient, which is often used to
    give each loss function different weights.

  - This operator also supports various ways to normalize the gradient by `normalization`,
    The `normalization` is applied <span class="kw">if</span> softmax output has different shape than the labels.
    The `normalization` mode can be set to the followings:

    - ``<span class="lit">'null'</span>``: <span class="kw">do</span> nothing.
    - ``<span class="lit">'batch'</span>``: divide the gradient by the batch size.
    - ``<span class="lit">'valid'</span>``: divide the gradient by the number of instances which are not ignored.



Defined in src/operator/softmax_output.cc:L231</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt class="param">label</dt><dd class="cmt"><p>Ground truth label.</p></dd><dt class="param">grad_scale</dt><dd class="cmt"><p>Scales the gradient by a float factor.</p></dd><dt class="param">ignore_label</dt><dd class="cmt"><p>The instances whose <code>labels</code> == <code>ignore_label</code> will be ignored during backward, if <code>use_ignore</code> is set to <code><code>true</code></code>).</p></dd><dt class="param">multi_output</dt><dd class="cmt"><p>If set to <code><code>true</code></code>, the softmax function will be computed along axis <code><code>1</code></code>. This is applied when the shape of input array differs from the shape of label array.</p></dd><dt class="param">use_ignore</dt><dd class="cmt"><p>If set to <code><code>true</code></code>, the <code>ignore_label</code> value will not contribute to the backward gradient.</p></dd><dt class="param">preserve_shape</dt><dd class="cmt"><p>If set to <code><code>true</code></code>, the softmax function will be computed along the last axis (<code><code>-1</code></code>).</p></dd><dt class="param">normalization</dt><dd class="cmt"><p>Normalizes the gradient.</p></dd><dt class="param">out_grad</dt><dd class="cmt"><p>Multiplies gradient with output gradient element-wise.</p></dd><dt class="param">smooth_alpha</dt><dd class="cmt"><p>Constant for computing a label smoothed version of cross-entropyfor the backwards pass.  This constant gets subtracted from theone-hot encoding of the gold label and distributed uniformly toall other labels.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SoftmaxActivation" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SoftmaxActivation(data:Option[org.apache.mxnet.Symbol],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SoftmaxActivation(Option[Symbol],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SoftmaxActivation</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SoftmaxActivation(data:Option[org.apache.mxnet.Symbol],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies softmax activation to input. This is intended <span class="kw">for</span> internal layers.

.. note::

  This operator has been deprecated, please use `softmax`.

If `mode` = ``instance``, <span class="kw">this</span> operator will compute a softmax <span class="kw">for</span> each instance in the batch.
This is the default mode.

If `mode` = ``channel``, <span class="kw">this</span> operator will compute a k-<span class="kw">class</span> softmax at each position
of each instance, where `k` = ``num_channel``. This mode can only be used when the input array
has at least <span class="num">3</span> dimensions.
This can be used <span class="kw">for</span> `fully convolutional network`, `image segmentation`, etc.

Example::

  &gt;&gt;&gt; input_array = mx.nd.array(`[ [<span class="num">3.</span>, <span class="num">0.5</span>, -<span class="num">0.5</span>, <span class="num">2.</span>, <span class="num">7.</span>],
  &gt;&gt;&gt;                            [<span class="num">2.</span>, -<span class="num">.4</span>, <span class="num">7.</span>,   <span class="num">3.</span>, <span class="num">0.2</span>] ])
  &gt;&gt;&gt; softmax_act = mx.nd.SoftmaxActivation(input_array)
  &gt;&gt;&gt; print softmax_act.asnumpy()
  `[ [  <span class="num">1.78322066e-02</span>   <span class="num">1.46375655e-03</span>   <span class="num">5.38485940e-04</span>   <span class="num">6.56010211e-03</span>   <span class="num">9.73605454e-01</span>]
   [  <span class="num">6.56221947e-03</span>   <span class="num">5.95310994e-04</span>   <span class="num">9.73919690e-01</span>   <span class="num">1.78379621e-02</span>   <span class="num">1.08472735e-03</span>] ]



Defined in src/operator/nn/softmax_activation.cc:L59</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Specifies how to compute the softmax. If set to <code><code>instance</code></code>, it computes softmax for each instance. If set to <code><code>channel</code></code>, It computes cross channel softmax for each position of each instance.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SoftmaxOutput" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SoftmaxOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],ignore_label:Option[Float],multi_output:Option[Boolean],use_ignore:Option[Boolean],preserve_shape:Option[Boolean],normalization:Option[String],out_grad:Option[Boolean],smooth_alpha:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SoftmaxOutput(Option[Symbol],Option[Symbol],Option[Float],Option[Float],Option[Boolean],Option[Boolean],Option[Boolean],Option[String],Option[Boolean],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SoftmaxOutput</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad_scale">grad_scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="ignore_label">ignore_label: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="multi_output">multi_output: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_ignore">use_ignore: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="preserve_shape">preserve_shape: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="normalization">normalization: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out_grad">out_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="smooth_alpha">smooth_alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SoftmaxOutput(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],grad_scale:Option[Float],ignore_label:Option[Float],multi_output:Option[Boolean],use_ignore:Option[Boolean],preserve_shape:Option[Boolean],normalization:Option[String],out_grad:Option[Boolean],smooth_alpha:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the gradient of cross entropy loss <span class="kw">with</span> respect to softmax output.

- This operator computes the gradient in two steps.
  The cross entropy loss does not actually need to be computed.

  - Applies softmax function on the input array.
  - Computes and returns the gradient of cross entropy loss w.r.t. the softmax output.

- The softmax function, cross entropy loss and gradient is given by:

  - Softmax <span class="std">Function</span>:

    .. math:: \text{softmax}(x)_i = \frac{exp(x_i)}{\sum_j exp(x_j)}

  - Cross Entropy <span class="std">Function</span>:

    .. math:: \text{CE(label, output)} = - \sum_i \text{label}_i \log(\text{output}_i)

  - The gradient of cross entropy loss w.r.t softmax output:

    .. math:: \text{gradient} = \text{output} - \text{label}

- During forward propagation, the softmax function is computed <span class="kw">for</span> each instance in the input array.

  For general *N*-D input arrays <span class="kw">with</span> shape :math:`(d_1, d_2, ..., d_n)`. The size is
  :math:`s=d_1 \cdot d_2 \cdot \cdot \cdot d_n`. We can use the parameters `preserve_shape`
  and `multi_output` to specify the way to compute softmax:

  - By default, `preserve_shape` is ``<span class="kw">false</span>``. This operator will reshape the input array
    into a <span class="num">2</span>-D array <span class="kw">with</span> shape :math:`(d_1, \frac{s}{d_1})` and then compute the softmax function <span class="kw">for</span>
    each row in the reshaped array, and afterwards reshape it back to the original shape
    :math:`(d_1, d_2, ..., d_n)`.
  - If `preserve_shape` is ``<span class="kw">true</span>``, the softmax function will be computed along
    the last axis (`axis` = ``-<span class="num">1</span>``).
  - If `multi_output` is ``<span class="kw">true</span>``, the softmax function will be computed along
    the second axis (`axis` = ``<span class="num">1</span>``).

- During backward propagation, the gradient of cross-entropy loss w.r.t softmax output array is computed.
  The provided label can be a one-hot label array or a probability label array.

  - If the parameter `use_ignore` is ``<span class="kw">true</span>``, `ignore_label` can specify input instances
    <span class="kw">with</span> a particular label to be ignored during backward propagation. **This has no effect when
    softmax `output` has same shape as `label`**.

    Example::

      data = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>],[<span class="num">2</span>,<span class="num">2</span>,<span class="num">2</span>,<span class="num">2</span>],[<span class="num">3</span>,<span class="num">3</span>,<span class="num">3</span>,<span class="num">3</span>],[<span class="num">4</span>,<span class="num">4</span>,<span class="num">4</span>,<span class="num">4</span>] ]
      label = [<span class="num">1</span>,<span class="num">0</span>,<span class="num">2</span>,<span class="num">3</span>]
      ignore_label = <span class="num">1</span>
      SoftmaxOutput(data=data, label = label,\
                    multi_output=<span class="kw">true</span>, use_ignore=<span class="kw">true</span>,\
                    ignore_label=ignore_label)
      ## forward softmax output
      `[ [ <span class="num">0.0320586</span>   <span class="num">0.08714432</span>  <span class="num">0.23688284</span>  <span class="num">0.64391428</span>]
       [ <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>      ]
       [ <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>      ]
       [ <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>        <span class="num">0.25</span>      ] ]
      ## backward gradient output
      `[ [ <span class="num">0.</span>    <span class="num">0.</span>    <span class="num">0.</span>    <span class="num">0.</span>  ]
       [-<span class="num">0.75</span>  <span class="num">0.25</span>  <span class="num">0.25</span>  <span class="num">0.25</span>]
       [ <span class="num">0.25</span>  <span class="num">0.25</span> -<span class="num">0.75</span>  <span class="num">0.25</span>]
       [ <span class="num">0.25</span>  <span class="num">0.25</span>  <span class="num">0.25</span> -<span class="num">0.75</span>] ]
      ## notice that the first row is all <span class="num">0</span> because label[<span class="num">0</span>] is <span class="num">1</span>, which is equal to ignore_label.

  - The parameter `grad_scale` can be used to rescale the gradient, which is often used to
    give each loss function different weights.

  - This operator also supports various ways to normalize the gradient by `normalization`,
    The `normalization` is applied <span class="kw">if</span> softmax output has different shape than the labels.
    The `normalization` mode can be set to the followings:

    - ``<span class="lit">'null'</span>``: <span class="kw">do</span> nothing.
    - ``<span class="lit">'batch'</span>``: divide the gradient by the batch size.
    - ``<span class="lit">'valid'</span>``: divide the gradient by the number of instances which are not ignored.



Defined in src/operator/softmax_output.cc:L231</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt class="param">label</dt><dd class="cmt"><p>Ground truth label.</p></dd><dt class="param">grad_scale</dt><dd class="cmt"><p>Scales the gradient by a float factor.</p></dd><dt class="param">ignore_label</dt><dd class="cmt"><p>The instances whose <code>labels</code> == <code>ignore_label</code> will be ignored during backward, if <code>use_ignore</code> is set to <code><code>true</code></code>).</p></dd><dt class="param">multi_output</dt><dd class="cmt"><p>If set to <code><code>true</code></code>, the softmax function will be computed along axis <code><code>1</code></code>. This is applied when the shape of input array differs from the shape of label array.</p></dd><dt class="param">use_ignore</dt><dd class="cmt"><p>If set to <code><code>true</code></code>, the <code>ignore_label</code> value will not contribute to the backward gradient.</p></dd><dt class="param">preserve_shape</dt><dd class="cmt"><p>If set to <code><code>true</code></code>, the softmax function will be computed along the last axis (<code><code>-1</code></code>).</p></dd><dt class="param">normalization</dt><dd class="cmt"><p>Normalizes the gradient.</p></dd><dt class="param">out_grad</dt><dd class="cmt"><p>Multiplies gradient with output gradient element-wise.</p></dd><dt class="param">smooth_alpha</dt><dd class="cmt"><p>Constant for computing a label smoothed version of cross-entropyfor the backwards pass.  This constant gets subtracted from theone-hot encoding of the gold label and distributed uniformly toall other labels.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SpatialTransformer" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SpatialTransformer(data:Option[org.apache.mxnet.Symbol],loc:Option[org.apache.mxnet.Symbol],target_shape:Option[org.apache.mxnet.Shape],transform_type:String,sampler_type:String,cudnn_off:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SpatialTransformer(Option[Symbol],Option[Symbol],Option[Shape],String,String,Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SpatialTransformer</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="loc">loc: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="target_shape">target_shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="transform_type">transform_type: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="sampler_type">sampler_type: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="cudnn_off">cudnn_off: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SpatialTransformer(data:Option[org.apache.mxnet.Symbol],loc:Option[org.apache.mxnet.Symbol],target_shape:Option[org.apache.mxnet.Shape],transform_type:String,sampler_type:String,cudnn_off:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies a spatial transformer to input feature map.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to the SpatialTransformerOp.</p></dd><dt class="param">loc</dt><dd class="cmt"><p>localisation net, the output dim should be 6 when transform_type is affine. You shold initialize the weight and bias with identity tranform.</p></dd><dt class="param">target_shape</dt><dd class="cmt"><p>output shape(h, w) of spatial transformer: (y, x)</p></dd><dt class="param">transform_type</dt><dd class="cmt"><p>transformation type</p></dd><dt class="param">sampler_type</dt><dd class="cmt"><p>sampling type</p></dd><dt class="param">cudnn_off</dt><dd class="cmt"><p>whether to turn cudnn off</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#SwapAxis" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="SwapAxis(data:Option[org.apache.mxnet.Symbol],dim1:Option[Int],dim2:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="SwapAxis(Option[Symbol],Option[Int],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">SwapAxis</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="dim1">dim1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="dim2">dim2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@SwapAxis(data:Option[org.apache.mxnet.Symbol],dim1:Option[Int],dim2:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Interchanges two axes of an array.

Examples::

  x = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ])
  swapaxes(x, <span class="num">0</span>, <span class="num">1</span>) = `[ [ <span class="num">1</span>],
                       [ <span class="num">2</span>],
                       [ <span class="num">3</span>] ]

  x = `[ `[ [ <span class="num">0</span>, <span class="num">1</span>],
        [ <span class="num">2</span>, <span class="num">3</span>] ],
       `[ [ <span class="num">4</span>, <span class="num">5</span>],
        [ <span class="num">6</span>, <span class="num">7</span>] ] ]  <span class="cmt">// (2,2,2) array</span>

 swapaxes(x, <span class="num">0</span>, <span class="num">2</span>) = `[ `[ [ <span class="num">0</span>, <span class="num">4</span>],
                       [ <span class="num">2</span>, <span class="num">6</span>] ],
                      `[ [ <span class="num">1</span>, <span class="num">5</span>],
                       [ <span class="num">3</span>, <span class="num">7</span>] ] ]


Defined in src/operator/swapaxis.cc:L70</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt class="param">dim1</dt><dd class="cmt"><p>the first axis to be swapped.</p></dd><dt class="param">dim2</dt><dd class="cmt"><p>the second axis to be swapped.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#UpSampling" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="UpSampling(data:Array[org.apache.mxnet.Symbol],scale:Int,num_filter:Option[Int],sample_type:String,multi_input_mode:Option[String],num_args:Int,workspace:Option[Long],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="UpSampling(Array[Symbol],Int,Option[Int],String,Option[String],Int,Option[Long],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">UpSampling</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="scale">scale: <span class="extype" name="scala.Int">Int</span></span>, <span name="num_filter">num_filter: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="sample_type">sample_type: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="multi_input_mode">multi_input_mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="num_args">num_args: <span class="extype" name="scala.Int">Int</span></span>, <span name="workspace">workspace: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Long">Long</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@UpSampling(data:Array[org.apache.mxnet.Symbol],scale:Int,num_filter:Option[Int],sample_type:String,multi_input_mode:Option[String],num_args:Int,workspace:Option[Long],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Upsamples the given input data.

Two algorithms (``sample_type``) are available <span class="kw">for</span> upsampling:

- Nearest Neighbor
- Bilinear

**Nearest Neighbor Upsampling**

Input data is expected to be NCHW.

Example::

  x = `[ [`[ [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>] ] ] ]

  UpSampling(x, scale=<span class="num">2</span>, sample_type='nearest') = `[ [`[ [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
                                                     [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
                                                     [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
                                                     [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
                                                     [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
                                                     [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>] ] ] ]

**Bilinear Upsampling**

Uses `deconvolution` algorithm under the hood. You need provide both input data and the kernel.

Input data is expected to be NCHW.

`num_filter` is expected to be same as the number of channels.

Example::

  x = `[ [`[ [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>] ] ] ]

  w = `[ [`[ [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>]
         [<span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span> <span class="num">1.</span>] ] ] ]

  UpSampling(x, w, scale=<span class="num">2</span>, sample_type='bilinear', num_filter=<span class="num">1</span>) = `[ [`[ [<span class="num">1.</span> <span class="num">2.</span> <span class="num">2.</span> <span class="num">2.</span> <span class="num">2.</span> <span class="num">1.</span>]
                                                                       [<span class="num">2.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">2.</span>]
                                                                       [<span class="num">2.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">2.</span>]
                                                                       [<span class="num">2.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">2.</span>]
                                                                       [<span class="num">2.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">4.</span> <span class="num">2.</span>]
                                                                       [<span class="num">1.</span> <span class="num">2.</span> <span class="num">2.</span> <span class="num">2.</span> <span class="num">2.</span> <span class="num">1.</span>] ] ] ]


Defined in src/operator/nn/upsampling.cc:L173</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Array of tensors to upsample. For bilinear upsampling, there should be 2 inputs - 1 data and 1 weight.</p></dd><dt class="param">scale</dt><dd class="cmt"><p>Up sampling scale</p></dd><dt class="param">num_filter</dt><dd class="cmt"><p>Input filter. Only used by bilinear sample_type.Since bilinear upsampling uses deconvolution, num_filters is set to the number of channels.</p></dd><dt class="param">sample_type</dt><dd class="cmt"><p>upsampling method</p></dd><dt class="param">multi_input_mode</dt><dd class="cmt"><p>How to handle multiple input. concat means concatenate upsampled images along the channel dimension. sum means add all images together, only available for nearest neighbor upsampling.</p></dd><dt class="param">num_args</dt><dd class="cmt"><p>Number of inputs to be upsampled. For nearest neighbor upsampling, this can be 1-N; the size of output will be(scale*h_0,scale*w_0) and all other inputs will be upsampled to thesame size. For bilinear upsampling this must be 2; 1 input and 1 weight.</p></dd><dt class="param">workspace</dt><dd class="cmt"><p>Tmp workspace for deconvolution (MB)</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#abs" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="abs(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="abs(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">abs</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@abs(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise absolute value of the input.

Example::

   abs([-<span class="num">2</span>, <span class="num">0</span>, <span class="num">3</span>]) = [<span class="num">2</span>, <span class="num">0</span>, <span class="num">3</span>]

The storage <span class="kw">type</span> of ``abs`` output depends upon the input storage <span class="kw">type</span>:

   - abs(default) = default
   - abs(row_sparse) = row_sparse
   - abs(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L721</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#adam_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="adam_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mean:Option[org.apache.mxnet.Symbol],vari:Option[org.apache.mxnet.Symbol],lr:Float,beta1:Option[Float],beta2:Option[Float],epsilon:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="adam_update(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">adam_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mean">mean: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="vari">vari: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="beta1">beta1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta2">beta2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="epsilon">epsilon: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="lazy_update">lazy_update: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@adam_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mean:Option[org.apache.mxnet.Symbol],vari:Option[org.apache.mxnet.Symbol],lr:Float,beta1:Option[Float],beta2:Option[Float],epsilon:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> Adam optimizer. Adam is seen as a generalization
of AdaGrad.

Adam update consists of the following steps, where g represents gradient and m, v
are <span class="num">1</span>st and <span class="num">2</span>nd order moment estimates (mean and variance).

.. math::

 g_t = \nabla J(W_{t-<span class="num">1</span>})\\
 m_t = \beta_1 m_{t-<span class="num">1</span>} + (<span class="num">1</span> - \beta_1) g_t\\
 v_t = \beta_2 v_{t-<span class="num">1</span>} + (<span class="num">1</span> - \beta_2) g_t^<span class="num">2</span>\\
 W_t = W_{t-<span class="num">1</span>} - \alpha \frac{ m_t }{ \sqrt{ v_t } + \epsilon }

It updates the weights using::

 m = beta1*m + (<span class="num">1</span>-beta1)*grad
 v = beta2*v + (<span class="num">1</span>-beta2)*(grad**<span class="num">2</span>)
 w += - learning_rate * m / (sqrt(v) + epsilon)

However, <span class="kw">if</span> grad's storage <span class="kw">type</span> is ``row_sparse``, ``lazy_update`` is True and the storage
<span class="kw">type</span> of weight is the same as those of m and v,
only the row slices whose indices appear in grad.indices are updated (<span class="kw">for</span> w, m and v)::

 <span class="kw">for</span> row in grad.indices:
     m[row] = beta1*m[row] + (<span class="num">1</span>-beta1)*grad[row]
     v[row] = beta2*v[row] + (<span class="num">1</span>-beta2)*(grad[row]**<span class="num">2</span>)
     w[row] += - learning_rate * m[row] / (sqrt(v[row]) + epsilon)



Defined in src/operator/optimizer_op.cc:L688</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mean</dt><dd class="cmt"><p>Moving mean</p></dd><dt class="param">vari</dt><dd class="cmt"><p>Moving variance</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">beta1</dt><dd class="cmt"><p>The decay rate for the 1st moment estimates.</p></dd><dt class="param">beta2</dt><dd class="cmt"><p>The decay rate for the 2nd moment estimates.</p></dd><dt class="param">epsilon</dt><dd class="cmt"><p>A small constant for numerical stability.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">lazy_update</dt><dd class="cmt"><p>If true, lazy updates are applied if gradient's stype is row_sparse and all of w, m and v have the same stype</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#add_n" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="add_n(args:Array[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="add_n(Array[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">add_n</span><span class="params">(<span name="args">args: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@add_n(args:Array[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Adds all input arguments element-wise.

.. math::
   add\_n(a_1, a_2, ..., a_n) = a_1 + a_2 + ... + a_n

``add_n`` is potentially more efficient than calling ``add`` by `n` times.

The storage <span class="kw">type</span> of ``add_n`` output depends on storage types of inputs

- add_n(row_sparse, row_sparse, ..) = row_sparse
- add_n(default, csr, default) = default
- add_n(any input combinations longer than <span class="num">4</span> (&gt;<span class="num">4</span>) <span class="kw">with</span> at least one default <span class="kw">type</span>) = default
- otherwise, ``add_n`` falls all inputs back to default storage and generates default storage



Defined in src/operator/tensor/elemwise_sum.cc:L155</pre></div><dl class="paramcmts block"><dt class="param">args</dt><dd class="cmt"><p>Positional input arguments</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#all_finite" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="all_finite(data:Option[org.apache.mxnet.Symbol],init_output:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="all_finite(Option[Symbol],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">all_finite</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="init_output">init_output: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@all_finite(data:Option[org.apache.mxnet.Symbol],init_output:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Check <span class="kw">if</span> all the float numbers in the array are finite (used <span class="kw">for</span> AMP)


Defined in src/operator/contrib/all_finite.cc:L101</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Array</p></dd><dt class="param">init_output</dt><dd class="cmt"><p>Initialize output to 1.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#amp_cast" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="amp_cast(data:Option[org.apache.mxnet.Symbol],dtype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="amp_cast(Option[Symbol],String,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">amp_cast</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@amp_cast(data:Option[org.apache.mxnet.Symbol],dtype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Cast function between low precision float/FP32 used by AMP.

It casts only between low precision float/FP32 and does not <span class="kw">do</span> anything <span class="kw">for</span> other types.


Defined in src/operator/tensor/amp_cast.cc:L37</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>Output data type.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#amp_multicast" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="amp_multicast(data:Array[org.apache.mxnet.Symbol],num_outputs:Int,cast_narrow:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="amp_multicast(Array[Symbol],Int,Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">amp_multicast</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_outputs">num_outputs: <span class="extype" name="scala.Int">Int</span></span>, <span name="cast_narrow">cast_narrow: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@amp_multicast(data:Array[org.apache.mxnet.Symbol],num_outputs:Int,cast_narrow:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Cast function used by AMP, that casts its inputs to the common widest <span class="kw">type</span>.

It casts only between low precision float/FP32 and does not <span class="kw">do</span> anything <span class="kw">for</span> other types.



Defined in src/operator/tensor/amp_cast.cc:L71</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights</p></dd><dt class="param">num_outputs</dt><dd class="cmt"><p>Number of input/output pairs to be casted to the widest type.</p></dd><dt class="param">cast_narrow</dt><dd class="cmt"><p>Whether to cast to the narrowest type</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#arccos" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="arccos(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="arccos(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">arccos</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@arccos(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise inverse cosine of the input array.

The input should be in range `[-<span class="num">1</span>, <span class="num">1</span>]`.
The output is in the closed interval :math:`[<span class="num">0</span>, \pi]`

.. math::
   arccos([-<span class="num">1</span>, -<span class="num">.707</span>, <span class="num">0</span>, <span class="num">.707</span>, <span class="num">1</span>]) = [\pi, <span class="num">3</span>\pi/<span class="num">4</span>, \pi/<span class="num">2</span>, \pi/<span class="num">4</span>, <span class="num">0</span>]

The storage <span class="kw">type</span> of ``arccos`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L206</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#arccosh" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="arccosh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="arccosh(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">arccosh</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@arccosh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the element-wise inverse hyperbolic cosine of the input array, \
computed element-wise.

The storage <span class="kw">type</span> of ``arccosh`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L474</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#arcsin" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="arcsin(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="arcsin(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">arcsin</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@arcsin(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise inverse sine of the input array.

The input should be in the range `[-<span class="num">1</span>, <span class="num">1</span>]`.
The output is in the closed interval of [:math:`-\pi/<span class="num">2</span>`, :math:`\pi/<span class="num">2</span>`].

.. math::
   arcsin([-<span class="num">1</span>, -<span class="num">.707</span>, <span class="num">0</span>, <span class="num">.707</span>, <span class="num">1</span>]) = [-\pi/<span class="num">2</span>, -\pi/<span class="num">4</span>, <span class="num">0</span>, \pi/<span class="num">4</span>, \pi/<span class="num">2</span>]

The storage <span class="kw">type</span> of ``arcsin`` output depends upon the input storage <span class="kw">type</span>:

   - arcsin(default) = default
   - arcsin(row_sparse) = row_sparse
   - arcsin(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L187</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#arcsinh" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="arcsinh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="arcsinh(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">arcsinh</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@arcsinh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the element-wise inverse hyperbolic sine of the input array, \
computed element-wise.

The storage <span class="kw">type</span> of ``arcsinh`` output depends upon the input storage <span class="kw">type</span>:

   - arcsinh(default) = default
   - arcsinh(row_sparse) = row_sparse
   - arcsinh(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L436</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#arctan" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="arctan(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="arctan(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">arctan</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@arctan(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise inverse tangent of the input array.

The output is in the closed interval :math:`[-\pi/<span class="num">2</span>, \pi/<span class="num">2</span>]`

.. math::
   arctan([-<span class="num">1</span>, <span class="num">0</span>, <span class="num">1</span>]) = [-\pi/<span class="num">4</span>, <span class="num">0</span>, \pi/<span class="num">4</span>]

The storage <span class="kw">type</span> of ``arctan`` output depends upon the input storage <span class="kw">type</span>:

   - arctan(default) = default
   - arctan(row_sparse) = row_sparse
   - arctan(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L227</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#arctanh" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="arctanh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="arctanh(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">arctanh</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@arctanh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the element-wise inverse hyperbolic tangent of the input array, \
computed element-wise.

The storage <span class="kw">type</span> of ``arctanh`` output depends upon the input storage <span class="kw">type</span>:

   - arctanh(default) = default
   - arctanh(row_sparse) = row_sparse
   - arctanh(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L515</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#argmax" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="argmax(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="argmax(Option[Symbol],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">argmax</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@argmax(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns indices of the maximum values along an axis.

In the <span class="kw">case</span> of multiple occurrences of maximum values, the indices corresponding to the first occurrence
are returned.

Examples::

  x = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>] ]

  <span class="cmt">// argmax along axis 0</span>
  argmax(x, axis=<span class="num">0</span>) = [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>]

  <span class="cmt">// argmax along axis 1</span>
  argmax(x, axis=<span class="num">1</span>) = [ <span class="num">2.</span>,  <span class="num">2.</span>]

  <span class="cmt">// argmax along axis 1 keeping same dims as an input array</span>
  argmax(x, axis=<span class="num">1</span>, keepdims=True) = `[ [ <span class="num">2.</span>],
                                      [ <span class="num">2.</span>] ]



Defined in src/operator/tensor/broadcast_reduce_op_index.cc:L52</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis along which to perform the reduction. Negative values means indexing from right to left. <code><code>Requires axis to be set as int, because global reduction is not supported yet.</code></code></p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axis is left in the result as dimension with size one.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#argmax_channel" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="argmax_channel(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="argmax_channel(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">argmax_channel</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@argmax_channel(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns argmax indices of each channel from the input array.

The result will be an NDArray of shape (num_channel,).

In <span class="kw">case</span> of multiple occurrences of the maximum values, the indices corresponding to the first occurrence
are returned.

Examples::

  x = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>] ]

  argmax_channel(x) = [ <span class="num">2.</span>,  <span class="num">2.</span>]



Defined in src/operator/tensor/broadcast_reduce_op_index.cc:L97</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#argmin" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="argmin(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="argmin(Option[Symbol],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">argmin</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@argmin(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns indices of the minimum values along an axis.

In the <span class="kw">case</span> of multiple occurrences of minimum values, the indices corresponding to the first occurrence
are returned.

Examples::

  x = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>] ]

  <span class="cmt">// argmin along axis 0</span>
  argmin(x, axis=<span class="num">0</span>) = [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>]

  <span class="cmt">// argmin along axis 1</span>
  argmin(x, axis=<span class="num">1</span>) = [ <span class="num">0.</span>,  <span class="num">0.</span>]

  <span class="cmt">// argmin along axis 1 keeping same dims as an input array</span>
  argmin(x, axis=<span class="num">1</span>, keepdims=True) = `[ [ <span class="num">0.</span>],
                                      [ <span class="num">0.</span>] ]



Defined in src/operator/tensor/broadcast_reduce_op_index.cc:L77</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis along which to perform the reduction. Negative values means indexing from right to left. <code><code>Requires axis to be set as int, because global reduction is not supported yet.</code></code></p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axis is left in the result as dimension with size one.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#argsort" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="argsort(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],is_ascend:Option[Boolean],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="argsort(Option[Symbol],Option[Int],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">argsort</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="is_ascend">is_ascend: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@argsort(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],is_ascend:Option[Boolean],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the indices that would sort an input array along the given axis.

This function performs sorting along the given axis and returns an array of indices having same shape
as an input array that index data in sorted order.

Examples::

  x = `[ [ <span class="num">0.3</span>,  <span class="num">0.2</span>,  <span class="num">0.4</span>],
       [ <span class="num">0.1</span>,  <span class="num">0.3</span>,  <span class="num">0.2</span>] ]

  <span class="cmt">// sort along axis -1</span>
  argsort(x) = `[ [ <span class="num">1.</span>,  <span class="num">0.</span>,  <span class="num">2.</span>],
                [ <span class="num">0.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>] ]

  <span class="cmt">// sort along axis 0</span>
  argsort(x, axis=<span class="num">0</span>) = `[ [ <span class="num">1.</span>,  <span class="num">0.</span>,  <span class="num">1.</span>]
                        [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>] ]

  <span class="cmt">// flatten and then sort</span>
  argsort(x, axis=<span class="std">None</span>) = [ <span class="num">3.</span>,  <span class="num">1.</span>,  <span class="num">5.</span>,  <span class="num">0.</span>,  <span class="num">4.</span>,  <span class="num">2.</span>]


Defined in src/operator/tensor/ordering_op.cc:L183</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which to sort the input tensor. If not given, the flattened array is used. Default is -1.</p></dd><dt class="param">is_ascend</dt><dd class="cmt"><p>Whether to sort in ascending or descending order.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output indices. It is only valid when ret_typ is &quot;indices&quot; or &quot;both&quot;. An error will be raised if the selected data type cannot precisely represent the indices.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#batch_dot" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="batch_dot(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],forward_stype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="batch_dot(Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">batch_dot</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose_a">transpose_a: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="transpose_b">transpose_b: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="forward_stype">forward_stype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@batch_dot(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],forward_stype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Batchwise dot product.

``batch_dot`` is used to compute dot product of ``x`` and ``y`` when ``x`` and
``y`` are data in batch, namely N-D (N &gt;= <span class="num">3</span>) arrays in shape of `(B0, ..., B_i, :, :)`.

For example, given ``x`` <span class="kw">with</span> shape `(B_0, ..., B_i, N, M)` and ``y`` <span class="kw">with</span> shape
`(B_0, ..., B_i, M, K)`, the result array will have shape `(B_0, ..., B_i, N, K)`,
which is computed by::

   batch_dot(x,y)[b_0, ..., b_i, :, :] = dot(x[b_0, ..., b_i, :, :], y[b_0, ..., b_i, :, :])



Defined in src/operator/tensor/dot.cc:L127</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>The first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>The second input</p></dd><dt class="param">transpose_a</dt><dd class="cmt"><p>If true then transpose the first input before dot.</p></dd><dt class="param">transpose_b</dt><dd class="cmt"><p>If true then transpose the second input before dot.</p></dd><dt class="param">forward_stype</dt><dd class="cmt"><p>The desired storage type of the forward output given by user, if thecombination of input storage types and this hint does not matchany implemented ones, the dot operator will perform fallback operationand still produce an output of the desired storage type.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#batch_take" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="batch_take(a:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="batch_take(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">batch_take</span><span class="params">(<span name="a">a: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="indices">indices: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@batch_take(a:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Takes elements from a data batch.

.. note::
  `batch_take` is deprecated. Use `pick` instead.

Given an input array of shape ``(d0, d1)`` and indices of shape ``(i0,)``, the result will be
an output array of shape ``(i0,)`` <span class="kw">with</span>::

  output[i] = input[i, indices[i] ]

Examples::

  x = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>],
       [ <span class="num">5.</span>,  <span class="num">6.</span>] ]

  <span class="cmt">// takes elements with specified indices</span>
  batch_take(x, [<span class="num">0</span>,<span class="num">1</span>,<span class="num">0</span>]) = [ <span class="num">1.</span>  <span class="num">4.</span>  <span class="num">5.</span>]



Defined in src/operator/tensor/indexing_op.cc:L777</pre></div><dl class="paramcmts block"><dt class="param">a</dt><dd class="cmt"><p>The input array</p></dd><dt class="param">indices</dt><dd class="cmt"><p>The index array</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_add" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_add(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_add(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_add</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_add(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise sum of the input arrays <span class="kw">with</span> broadcasting.

`broadcast_plus` is an alias to the function `broadcast_add`.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_add(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                          [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ]

   broadcast_plus(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                           [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ]

Supported sparse operations:

   broadcast_add(csr, dense(<span class="num">1</span>D)) = dense
   broadcast_add(dense(<span class="num">1</span>D), csr) = dense



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L58</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_axes" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_axes(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],size:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_axes(Option[Symbol],Option[Shape],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_axes</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="size">size: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_axes(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],size:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Broadcasts the input array over particular axes.

Broadcasting is allowed on axes <span class="kw">with</span> size <span class="num">1</span>, such as from `(<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">1</span>)` to
`(<span class="num">2</span>,<span class="num">8</span>,<span class="num">3</span>,<span class="num">9</span>)`. Elements will be duplicated on the broadcasted axes.

`broadcast_axes` is an alias to the function `broadcast_axis`.

Example::

   <span class="cmt">// given x of shape (1,2,1)</span>
   x = `[ `[ [ <span class="num">1.</span>],
         [ <span class="num">2.</span>] ] ]

   <span class="cmt">// broadcast x on on axis 2</span>
   broadcast_axis(x, axis=<span class="num">2</span>, size=<span class="num">3</span>) = `[ `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                         [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ] ]
   <span class="cmt">// broadcast x on on axes 0 and 2</span>
   broadcast_axis(x, axis=(<span class="num">0</span>,<span class="num">2</span>), size=(<span class="num">2</span>,<span class="num">3</span>)) = `[ `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                                 [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ],
                                                `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                                 [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ] ]


Defined in src/operator/tensor/broadcast_reduce_op_value.cc:L58</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axes to perform the broadcasting.</p></dd><dt class="param">size</dt><dd class="cmt"><p>Target sizes of the broadcasting axes.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_axis" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],size:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_axis(Option[Symbol],Option[Shape],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_axis</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="size">size: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],size:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Broadcasts the input array over particular axes.

Broadcasting is allowed on axes <span class="kw">with</span> size <span class="num">1</span>, such as from `(<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">1</span>)` to
`(<span class="num">2</span>,<span class="num">8</span>,<span class="num">3</span>,<span class="num">9</span>)`. Elements will be duplicated on the broadcasted axes.

`broadcast_axes` is an alias to the function `broadcast_axis`.

Example::

   <span class="cmt">// given x of shape (1,2,1)</span>
   x = `[ `[ [ <span class="num">1.</span>],
         [ <span class="num">2.</span>] ] ]

   <span class="cmt">// broadcast x on on axis 2</span>
   broadcast_axis(x, axis=<span class="num">2</span>, size=<span class="num">3</span>) = `[ `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                         [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ] ]
   <span class="cmt">// broadcast x on on axes 0 and 2</span>
   broadcast_axis(x, axis=(<span class="num">0</span>,<span class="num">2</span>), size=(<span class="num">2</span>,<span class="num">3</span>)) = `[ `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                                 [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ],
                                                `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                                 [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ] ]


Defined in src/operator/tensor/broadcast_reduce_op_value.cc:L58</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axes to perform the broadcasting.</p></dd><dt class="param">size</dt><dd class="cmt"><p>Target sizes of the broadcasting axes.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_div" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_div(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_div(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_div</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_div(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise division of the input arrays <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">6.</span>,  <span class="num">6.</span>,  <span class="num">6.</span>],
        [ <span class="num">6.</span>,  <span class="num">6.</span>,  <span class="num">6.</span>] ]

   y = `[ [ <span class="num">2.</span>],
        [ <span class="num">3.</span>] ]

   broadcast_div(x, y) = `[ [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">3.</span>],
                          [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ]

Supported sparse operations:

   broadcast_div(csr, dense(<span class="num">1</span>D)) = csr



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L187</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_equal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_equal(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_equal</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **equal to** (==) comparison operation <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_equal(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                            [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L46</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_greater" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_greater(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_greater(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_greater</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_greater(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **greater than** (&gt;) comparison operation <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_greater(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                              [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L82</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_greater_equal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_greater_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_greater_equal(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_greater_equal</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_greater_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **greater than or equal to** (&gt;=) comparison operation <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_greater_equal(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                    [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L100</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_hypot" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_hypot(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_hypot(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_hypot</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_hypot(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre> Returns the hypotenuse of a right angled triangle, given its <span class="lit">"legs"</span>
<span class="kw">with</span> broadcasting.

It is equivalent to doing :math:`sqrt(x_1^<span class="num">2</span> + x_2^<span class="num">2</span>)`.

Example::

   x = `[ [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">3.</span>] ]

   y = `[ [ <span class="num">4.</span>],
        [ <span class="num">4.</span>] ]

   broadcast_hypot(x, y) = `[ [ <span class="num">5.</span>,  <span class="num">5.</span>,  <span class="num">5.</span>],
                            [ <span class="num">5.</span>,  <span class="num">5.</span>,  <span class="num">5.</span>] ]

   z = `[ [ <span class="num">0.</span>],
        [ <span class="num">4.</span>] ]

   broadcast_hypot(x, z) = `[ [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">3.</span>],
                            [ <span class="num">5.</span>,  <span class="num">5.</span>,  <span class="num">5.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_extended.cc:L158</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_lesser" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_lesser(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_lesser(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_lesser</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_lesser(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **lesser than** (&lt;) comparison operation <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_lesser(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                             [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L118</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_lesser_equal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_lesser_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_lesser_equal(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_lesser_equal</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_lesser_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **lesser than or equal to** (&lt;=) comparison operation <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_lesser_equal(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                                   [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L136</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_like(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],lhs_axes:Option[org.apache.mxnet.Shape],rhs_axes:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_like(Option[Symbol],Option[Symbol],Option[Shape],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_like</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lhs_axes">lhs_axes: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="rhs_axes">rhs_axes: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_like(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],lhs_axes:Option[org.apache.mxnet.Shape],rhs_axes:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Broadcasts lhs to have the same shape as rhs.

Broadcasting is a mechanism that allows NDArrays to perform arithmetic operations
<span class="kw">with</span> arrays of different shapes efficiently without creating multiple copies of arrays.
Also see, `Broadcasting &lt;https:<span class="cmt">//docs.scipy.org/doc/numpy/user/basics.broadcasting.html>`_ for more explanation.</span>

Broadcasting is allowed on axes <span class="kw">with</span> size <span class="num">1</span>, such as from `(<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">1</span>)` to
`(<span class="num">2</span>,<span class="num">8</span>,<span class="num">3</span>,<span class="num">9</span>)`. Elements will be duplicated on the broadcasted axes.

For example::

   broadcast_like(`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ], `[ [<span class="num">5</span>,<span class="num">6</span>,<span class="num">7</span>],[<span class="num">7</span>,<span class="num">8</span>,<span class="num">9</span>] ]) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>],
                                                   [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>] ])

   broadcast_like([<span class="num">9</span>], [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>], lhs_axes=(<span class="num">0</span>,), rhs_axes=(-<span class="num">1</span>,)) = [<span class="num">9</span>,<span class="num">9</span>,<span class="num">9</span>,<span class="num">9</span>,<span class="num">9</span>]



Defined in src/operator/tensor/broadcast_reduce_op_value.cc:L135</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input.</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input.</p></dd><dt class="param">lhs_axes</dt><dd class="cmt"><p>Axes to perform broadcast on in the first input array</p></dd><dt class="param">rhs_axes</dt><dd class="cmt"><p>Axes to copy from the second input array</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_logical_and" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_logical_and(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_logical_and(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_logical_and</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_logical_and(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **logical and** <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_logical_and(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                                  [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L154</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_logical_or" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_logical_or(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_logical_or(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_logical_or</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_logical_or(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **logical or** <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>] ]

   y = `[ [ <span class="num">1.</span>],
        [ <span class="num">0.</span>] ]

   broadcast_logical_or(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                 [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L172</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_logical_xor" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_logical_xor(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_logical_xor(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_logical_xor</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_logical_xor(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **logical xor** <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>] ]

   y = `[ [ <span class="num">1.</span>],
        [ <span class="num">0.</span>] ]

   broadcast_logical_xor(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">1.</span>],
                                  [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L190</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_maximum" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_maximum(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_maximum(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_maximum</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_maximum(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise maximum of the input arrays <span class="kw">with</span> broadcasting.

This function compares two input arrays and returns a <span class="kw">new</span> array having the element-wise maxima.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_maximum(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                              [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_extended.cc:L81</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_minimum" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_minimum(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_minimum(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_minimum</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_minimum(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise minimum of the input arrays <span class="kw">with</span> broadcasting.

This function compares two input arrays and returns a <span class="kw">new</span> array having the element-wise minima.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_maximum(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                              [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_extended.cc:L117</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_minus" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_minus(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_minus(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_minus</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_minus(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise difference of the input arrays <span class="kw">with</span> broadcasting.

`broadcast_minus` is an alias to the function `broadcast_sub`.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_sub(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                          [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]

   broadcast_minus(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                            [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]

Supported sparse operations:

   broadcast_sub/minus(csr, dense(<span class="num">1</span>D)) = dense
   broadcast_sub/minus(dense(<span class="num">1</span>D), csr) = dense



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L106</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_mod" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_mod(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_mod(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_mod</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_mod(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise modulo of the input arrays <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">8.</span>,  <span class="num">8.</span>,  <span class="num">8.</span>],
        [ <span class="num">8.</span>,  <span class="num">8.</span>,  <span class="num">8.</span>] ]

   y = `[ [ <span class="num">2.</span>],
        [ <span class="num">3.</span>] ]

   broadcast_mod(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                          [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L222</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_mul" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_mul(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_mul(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_mul</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_mul(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise product of the input arrays <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_mul(x, y) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                          [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

Supported sparse operations:

   broadcast_mul(csr, dense(<span class="num">1</span>D)) = csr



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L146</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_not_equal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_not_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_not_equal(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_not_equal</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_not_equal(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of element-wise **not equal to** (!=) comparison operation <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_not_equal(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                                [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_logic.cc:L64</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_plus" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_plus(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_plus(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_plus</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_plus(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise sum of the input arrays <span class="kw">with</span> broadcasting.

`broadcast_plus` is an alias to the function `broadcast_add`.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_add(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                          [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ]

   broadcast_plus(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                           [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>] ]

Supported sparse operations:

   broadcast_add(csr, dense(<span class="num">1</span>D)) = dense
   broadcast_add(dense(<span class="num">1</span>D), csr) = dense



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L58</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_power" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_power(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_power(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_power</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_power(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns result of first array elements raised to powers from second array, element-wise <span class="kw">with</span> broadcasting.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_power(x, y) = `[ [ <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>],
                            [ <span class="num">4.</span>,  <span class="num">4.</span>,  <span class="num">4.</span>] ]



Defined in src/operator/tensor/elemwise_binary_broadcast_op_extended.cc:L45</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_sub" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_sub(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_sub(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_sub</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_sub(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise difference of the input arrays <span class="kw">with</span> broadcasting.

`broadcast_minus` is an alias to the function `broadcast_sub`.

Example::

   x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
        [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

   y = `[ [ <span class="num">0.</span>],
        [ <span class="num">1.</span>] ]

   broadcast_sub(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                          [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]

   broadcast_minus(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                            [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]

Supported sparse operations:

   broadcast_sub/minus(csr, dense(<span class="num">1</span>D)) = dense
   broadcast_sub/minus(dense(<span class="num">1</span>D), csr) = dense



Defined in src/operator/tensor/elemwise_binary_broadcast_op_basic.cc:L106</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input to the function</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input to the function</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#broadcast_to" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="broadcast_to(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="broadcast_to(Option[Symbol],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">broadcast_to</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@broadcast_to(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Broadcasts the input array to a <span class="kw">new</span> shape.

Broadcasting is a mechanism that allows NDArrays to perform arithmetic operations
<span class="kw">with</span> arrays of different shapes efficiently without creating multiple copies of arrays.
Also see, `Broadcasting &lt;https:<span class="cmt">//docs.scipy.org/doc/numpy/user/basics.broadcasting.html>`_ for more explanation.</span>

Broadcasting is allowed on axes <span class="kw">with</span> size <span class="num">1</span>, such as from `(<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">1</span>)` to
`(<span class="num">2</span>,<span class="num">8</span>,<span class="num">3</span>,<span class="num">9</span>)`. Elements will be duplicated on the broadcasted axes.

For example::

   broadcast_to(`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ], shape=(<span class="num">2</span>,<span class="num">3</span>)) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>],
                                           [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>] ])

The dimension which you <span class="kw">do</span> not want to change can also be kept as `<span class="num">0</span>` which means copy the original value.
So <span class="kw">with</span> `shape=(<span class="num">2</span>,<span class="num">0</span>)`, we will obtain the same result as in the above example.



Defined in src/operator/tensor/broadcast_reduce_op_value.cc:L82</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">shape</dt><dd class="cmt"><p>The shape of the desired array. We can set the dim to zero if it's same as the original. E.g <code>A = broadcast_to(B, shape=(10, 0, 0))</code> has the same meaning as <code>A = broadcast_axis(B, axis=0, size=10)</code>.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#cast" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="cast(data:Option[org.apache.mxnet.Symbol],dtype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="cast(Option[Symbol],String,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">cast</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@cast(data:Option[org.apache.mxnet.Symbol],dtype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Casts all elements of the input to a <span class="kw">new</span> <span class="kw">type</span>.

.. note:: ``Cast`` is deprecated. Use ``cast`` instead.

Example::

   cast([<span class="num">0.9</span>, <span class="num">1.3</span>], dtype=<span class="lit">'int32'</span>) = [<span class="num">0</span>, <span class="num">1</span>]
   cast([<span class="num">1</span>e20, <span class="num">11.1</span>], dtype='float16') = [inf, <span class="num">11.09375</span>]
   cast([<span class="num">300</span>, <span class="num">11.1</span>, <span class="num">10.9</span>, -<span class="num">1</span>, -<span class="num">3</span>], dtype=<span class="lit">'uint8'</span>) = [<span class="num">44</span>, <span class="num">11</span>, <span class="num">10</span>, <span class="num">255</span>, <span class="num">253</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L665</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>Output data type.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#cast_storage" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="cast_storage(data:Option[org.apache.mxnet.Symbol],stype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="cast_storage(Option[Symbol],String,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">cast_storage</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="stype">stype: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@cast_storage(data:Option[org.apache.mxnet.Symbol],stype:String,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Casts tensor storage <span class="kw">type</span> to the <span class="kw">new</span> <span class="kw">type</span>.

When an NDArray <span class="kw">with</span> default storage <span class="kw">type</span> is cast to csr or row_sparse storage,
the result is compact, which means:

- <span class="kw">for</span> csr, zero values will not be retained
- <span class="kw">for</span> row_sparse, row slices of all zeros will not be retained

The storage <span class="kw">type</span> of ``cast_storage`` output depends on stype parameter:

- cast_storage(csr, 'default') = default
- cast_storage(row_sparse, 'default') = default
- cast_storage(default, <span class="lit">'csr'</span>) = csr
- cast_storage(default, 'row_sparse') = row_sparse
- cast_storage(csr, <span class="lit">'csr'</span>) = csr
- cast_storage(row_sparse, 'row_sparse') = row_sparse

Example::

    dense = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>],
             [ <span class="num">2.</span>,  <span class="num">0.</span>,  <span class="num">3.</span>],
             [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
             [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]

    # cast to row_sparse storage <span class="kw">type</span>
    rsp = cast_storage(dense, 'row_sparse')
    rsp.indices = [<span class="num">0</span>, <span class="num">1</span>]
    rsp.values = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>],
                  [ <span class="num">2.</span>,  <span class="num">0.</span>,  <span class="num">3.</span>] ]

    # cast to csr storage <span class="kw">type</span>
    csr = cast_storage(dense, <span class="lit">'csr'</span>)
    csr.indices = [<span class="num">1</span>, <span class="num">0</span>, <span class="num">2</span>]
    csr.values = [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>]
    csr.indptr = [<span class="num">0</span>, <span class="num">1</span>, <span class="num">3</span>, <span class="num">3</span>, <span class="num">3</span>]



Defined in src/operator/tensor/cast_storage.cc:L71</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input.</p></dd><dt class="param">stype</dt><dd class="cmt"><p>Output storage type.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#cbrt" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="cbrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="cbrt(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">cbrt</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@cbrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise cube-root value of the input.

.. math::
   cbrt(x) = \sqrt[<span class="num">3</span>]{x}

Example::

   cbrt([<span class="num">1</span>, <span class="num">8</span>, -<span class="num">125</span>]) = [<span class="num">1</span>, <span class="num">2</span>, -<span class="num">5</span>]

The storage <span class="kw">type</span> of ``cbrt`` output depends upon the input storage <span class="kw">type</span>:

   - cbrt(default) = default
   - cbrt(row_sparse) = row_sparse
   - cbrt(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_pow.cc:L216</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ceil" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ceil(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ceil(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ceil</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ceil(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise ceiling of the input.

The ceil of the scalar x is the smallest integer i, such that i &gt;= x.

Example::

   ceil([-<span class="num">2.1</span>, -<span class="num">1.9</span>, <span class="num">1.5</span>, <span class="num">1.9</span>, <span class="num">2.1</span>]) = [-<span class="num">2.</span>, -<span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>]

The storage <span class="kw">type</span> of ``ceil`` output depends upon the input storage <span class="kw">type</span>:

   - ceil(default) = default
   - ceil(row_sparse) = row_sparse
   - ceil(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L818</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#choose_element_0index" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="choose_element_0index(data:Option[org.apache.mxnet.Symbol],index:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="choose_element_0index(Option[Symbol],Option[Symbol],Option[Int],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">choose_element_0index</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="index">index: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@choose_element_0index(data:Option[org.apache.mxnet.Symbol],index:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Picks elements from an input array according to the input indices along the given axis.

Given an input array of shape ``(d0, d1)`` and indices of shape ``(i0,)``, the result will be
an output array of shape ``(i0,)`` <span class="kw">with</span>::

  output[i] = input[i, indices[i] ]

By default, <span class="kw">if</span> any index mentioned is too large, it is replaced by the index that addresses
the last element along an axis (the `clip` mode).

This function supports n-dimensional input and (n-<span class="num">1</span>)-dimensional indices arrays.

Examples::

  x = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>],
       [ <span class="num">5.</span>,  <span class="num">6.</span>] ]

  <span class="cmt">// picks elements with specified indices along axis 0</span>
  pick(x, y=[<span class="num">0</span>,<span class="num">1</span>], <span class="num">0</span>) = [ <span class="num">1.</span>,  <span class="num">4.</span>]

  <span class="cmt">// picks elements with specified indices along axis 1</span>
  pick(x, y=[<span class="num">0</span>,<span class="num">1</span>,<span class="num">0</span>], <span class="num">1</span>) = [ <span class="num">1.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>]

  y = `[ [ <span class="num">1.</span>],
       [ <span class="num">0.</span>],
       [ <span class="num">2.</span>] ]

  <span class="cmt">// picks elements with specified indices along axis 1 using 'wrap' mode</span>
  <span class="cmt">// to place indicies that would normally be out of bounds</span>
  pick(x, y=[<span class="num">2</span>,-<span class="num">1</span>,-<span class="num">2</span>], <span class="num">1</span>, mode=<span class="lit">'wrap'</span>) = [ <span class="num">1.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>]

  y = `[ [ <span class="num">1.</span>],
       [ <span class="num">0.</span>],
       [ <span class="num">2.</span>] ]

  <span class="cmt">// picks elements with specified indices along axis 1 and dims are maintained</span>
  pick(x,y, <span class="num">1</span>, keepdims=True) = `[ [ <span class="num">2.</span>],
                                 [ <span class="num">3.</span>],
                                 [ <span class="num">6.</span>] ]



Defined in src/operator/tensor/broadcast_reduce_op_index.cc:L155</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array</p></dd><dt class="param">index</dt><dd class="cmt"><p>The index array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>int or None. The axis to picking the elements. Negative values means indexing from right to left. If is <code>None</code>, the elements in the index w.r.t the flattened input will be picked.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If true, the axis where we pick the elements is left in the result as dimension with size one.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Specify how out-of-bound indices behave. Default is &quot;clip&quot;. &quot;clip&quot; means clip to the range. So, if all indices mentioned are too large, they are replaced by the index that addresses the last element along an axis.  &quot;wrap&quot; means to wrap around.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#clip" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="clip(data:Option[org.apache.mxnet.Symbol],a_min:Float,a_max:Float,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="clip(Option[Symbol],Float,Float,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clip</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="a_min">a_min: <span class="extype" name="scala.Float">Float</span></span>, <span name="a_max">a_max: <span class="extype" name="scala.Float">Float</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@clip(data:Option[org.apache.mxnet.Symbol],a_min:Float,a_max:Float,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Clips (limits) the values in an array.
Given an interval, values outside the interval are clipped to the interval edges.
Clipping ``x`` between `a_min` and `a_max` would be::
.. math::
   clip(x, a_min, a_max) = \max(\min(x, a_max), a_min))
Example::
    x = [<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>, <span class="num">7</span>, <span class="num">8</span>, <span class="num">9</span>]
    clip(x,<span class="num">1</span>,<span class="num">8</span>) = [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">8.</span>]
The storage <span class="kw">type</span> of ``clip`` output depends on storage types of inputs and the a_min, a_max \
parameter values:
   - clip(default) = default
   - clip(row_sparse, a_min &lt;= <span class="num">0</span>, a_max &gt;= <span class="num">0</span>) = row_sparse
   - clip(csr, a_min &lt;= <span class="num">0</span>, a_max &gt;= <span class="num">0</span>) = csr
   - clip(row_sparse, a_min &lt; <span class="num">0</span>, a_max &lt; <span class="num">0</span>) = default
   - clip(row_sparse, a_min &gt; <span class="num">0</span>, a_max &gt; <span class="num">0</span>) = default
   - clip(csr, a_min &lt; <span class="num">0</span>, a_max &lt; <span class="num">0</span>) = csr
   - clip(csr, a_min &gt; <span class="num">0</span>, a_max &gt; <span class="num">0</span>) = csr


Defined in src/operator/tensor/matrix_op.cc:L677</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt class="param">a_min</dt><dd class="cmt"><p>Minimum value</p></dd><dt class="param">a_max</dt><dd class="cmt"><p>Maximum value</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#concat" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="concat(data:Array[org.apache.mxnet.Symbol],num_args:Int,dim:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="concat(Array[Symbol],Int,Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">concat</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_args">num_args: <span class="extype" name="scala.Int">Int</span></span>, <span name="dim">dim: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@concat(data:Array[org.apache.mxnet.Symbol],num_args:Int,dim:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Joins input arrays along a given axis.

.. note:: `Concat` is deprecated. Use `concat` instead.

The dimensions of the input arrays should be the same except the axis along
which they will be concatenated.
The dimension of the output array along the concatenated axis will be equal
to the sum of the corresponding dimensions of the input arrays.

The storage <span class="kw">type</span> of ``concat`` output depends on storage types of inputs

- concat(csr, csr, ..., csr, dim=<span class="num">0</span>) = csr
- otherwise, ``concat`` generates output <span class="kw">with</span> default storage

Example::

   x = `[ [<span class="num">1</span>,<span class="num">1</span>],[<span class="num">2</span>,<span class="num">2</span>] ]
   y = `[ [<span class="num">3</span>,<span class="num">3</span>],[<span class="num">4</span>,<span class="num">4</span>],[<span class="num">5</span>,<span class="num">5</span>] ]
   z = `[ [<span class="num">6</span>,<span class="num">6</span>], [<span class="num">7</span>,<span class="num">7</span>],[<span class="num">8</span>,<span class="num">8</span>] ]

   concat(x,y,z,dim=<span class="num">0</span>) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>],
                          [ <span class="num">2.</span>,  <span class="num">2.</span>],
                          [ <span class="num">3.</span>,  <span class="num">3.</span>],
                          [ <span class="num">4.</span>,  <span class="num">4.</span>],
                          [ <span class="num">5.</span>,  <span class="num">5.</span>],
                          [ <span class="num">6.</span>,  <span class="num">6.</span>],
                          [ <span class="num">7.</span>,  <span class="num">7.</span>],
                          [ <span class="num">8.</span>,  <span class="num">8.</span>] ]

   Note that you cannot concat x,y,z along dimension <span class="num">1</span> since dimension
   <span class="num">0</span> is not the same <span class="kw">for</span> all the input arrays.

   concat(y,z,dim=<span class="num">1</span>) = `[ [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">6.</span>,  <span class="num">6.</span>],
                         [ <span class="num">4.</span>,  <span class="num">4.</span>,  <span class="num">7.</span>,  <span class="num">7.</span>],
                         [ <span class="num">5.</span>,  <span class="num">5.</span>,  <span class="num">8.</span>,  <span class="num">8.</span>] ]



Defined in src/operator/nn/concat.cc:L383</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>List of arrays to concatenate</p></dd><dt class="param">num_args</dt><dd class="cmt"><p>Number of inputs to be concated.</p></dd><dt class="param">dim</dt><dd class="cmt"><p>the dimension to be concated.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#cos" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="cos(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="cos(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">cos</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@cos(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the element-wise cosine of the input array.

The input should be in radians (:math:`<span class="num">2</span>\pi` rad equals <span class="num">360</span> degrees).

.. math::
   cos([<span class="num">0</span>, \pi/<span class="num">4</span>, \pi/<span class="num">2</span>]) = [<span class="num">1</span>, <span class="num">0.707</span>, <span class="num">0</span>]

The storage <span class="kw">type</span> of ``cos`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L90</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#cosh" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="cosh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="cosh(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">cosh</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@cosh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the hyperbolic cosine  of the input array, computed element-wise.

.. math::
   cosh(x) = <span class="num">0.5</span>\times(exp(x) + exp(-x))

The storage <span class="kw">type</span> of ``cosh`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L351</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#crop" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="crop(data:Option[org.apache.mxnet.Symbol],begin:org.apache.mxnet.Shape,end:org.apache.mxnet.Shape,step:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="crop(Option[Symbol],Shape,Shape,Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">crop</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="begin">begin: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="end">end: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="step">step: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@crop(data:Option[org.apache.mxnet.Symbol],begin:org.apache.mxnet.Shape,end:org.apache.mxnet.Shape,step:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Slices a region of the array.
.. note:: ``crop`` is deprecated. Use ``slice`` instead.
This function returns a sliced array between the indices given
by `begin` and `end` <span class="kw">with</span> the corresponding `step`.
For an input array of ``shape=(d_0, d_1, ..., d_n-<span class="num">1</span>)``,
slice operation <span class="kw">with</span> ``begin=(b_0, b_1...b_m-<span class="num">1</span>)``,
``end=(e_0, e_1, ..., e_m-<span class="num">1</span>)``, and ``step=(s_0, s_1, ..., s_m-<span class="num">1</span>)``,
where m &lt;= n, results in an array <span class="kw">with</span> the shape
``(|e_0-b_0|/|s_0|, ..., |e_m-<span class="num">1</span>-b_m-<span class="num">1</span>|/|s_m-<span class="num">1</span>|, d_m, ..., d_n-<span class="num">1</span>)``.
The resulting array's *k*-th dimension contains elements
from the *k*-th dimension of the input array starting
from index ``b_k`` (inclusive) <span class="kw">with</span> step ``s_k``
until reaching ``e_k`` (exclusive).
If the *k*-th elements are `<span class="std">None</span>` in the sequence of `begin`, `end`,
and `step`, the following rule will be used to set default values.
If `s_k` is `<span class="std">None</span>`, set `s_k=<span class="num">1</span>`. If `s_k &gt; <span class="num">0</span>`, set `b_k=<span class="num">0</span>`, `e_k=d_k`;
<span class="kw">else</span>, set `b_k=d_k-<span class="num">1</span>`, `e_k=-<span class="num">1</span>`.
The storage <span class="kw">type</span> of ``slice`` output depends on storage types of inputs
- slice(csr) = csr
- otherwise, ``slice`` generates output <span class="kw">with</span> default storage
.. note:: When input data storage <span class="kw">type</span> is csr, it only supports
   step=(), or step=(<span class="std">None</span>,), or step=(<span class="num">1</span>,) to generate a csr output.
   For other step parameter values, it falls back to slicing
   a dense tensor.
Example::
  x = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>],
       [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>],
       [  <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ]
  slice(x, begin=(<span class="num">0</span>,<span class="num">1</span>), end=(<span class="num">2</span>,<span class="num">4</span>)) = `[ [ <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
                                     [ <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>] ]
  slice(x, begin=(<span class="std">None</span>, <span class="num">0</span>), end=(<span class="std">None</span>, <span class="num">3</span>), step=(-<span class="num">1</span>, <span class="num">2</span>)) = `[ [<span class="num">9.</span>, <span class="num">11.</span>],
                                                            [<span class="num">5.</span>,  <span class="num">7.</span>],
                                                            [<span class="num">1.</span>,  <span class="num">3.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L482</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Source input</p></dd><dt class="param">begin</dt><dd class="cmt"><p>starting indices for the slice operation, supports negative indices.</p></dd><dt class="param">end</dt><dd class="cmt"><p>ending indices for the slice operation, supports negative indices.</p></dd><dt class="param">step</dt><dd class="cmt"><p>step for the slice operation, supports negative values.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ctc_loss" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ctc_loss(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],data_lengths:Option[org.apache.mxnet.Symbol],label_lengths:Option[org.apache.mxnet.Symbol],use_data_lengths:Option[Boolean],use_label_lengths:Option[Boolean],blank_label:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ctc_loss(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ctc_loss</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="data_lengths">data_lengths: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label_lengths">label_lengths: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="use_data_lengths">use_data_lengths: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="use_label_lengths">use_label_lengths: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="blank_label">blank_label: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ctc_loss(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],data_lengths:Option[org.apache.mxnet.Symbol],label_lengths:Option[org.apache.mxnet.Symbol],use_data_lengths:Option[Boolean],use_label_lengths:Option[Boolean],blank_label:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Connectionist Temporal Classification Loss.

.. note:: The existing alias ``contrib_CTCLoss`` is deprecated.

The shapes of the inputs and outputs:

- **data**: `(sequence_length, batch_size, alphabet_size)`
- **label**: `(batch_size, label_sequence_length)`
- **out**: `(batch_size)`

The `data` tensor consists of sequences of activation vectors (without applying softmax),
<span class="kw">with</span> i-th channel in the last dimension corresponding to i-th label
<span class="kw">for</span> i between <span class="num">0</span> and alphabet_size-<span class="num">1</span> (i.e always <span class="num">0</span>-indexed).
Alphabet size should include one additional value reserved <span class="kw">for</span> blank label.
When `blank_label` is ``<span class="lit">"first"</span>``, the ``<span class="num">0</span>``-th channel is be reserved <span class="kw">for</span>
activation of blank label, or otherwise <span class="kw">if</span> it is <span class="lit">"last"</span>, ``(alphabet_size-<span class="num">1</span>)``-th channel should be
reserved <span class="kw">for</span> blank label.

``label`` is an index matrix of integers. When `blank_label` is ``<span class="lit">"first"</span>``,
the value <span class="num">0</span> is then reserved <span class="kw">for</span> blank label, and should not be passed in <span class="kw">this</span> matrix. Otherwise,
when `blank_label` is ``<span class="lit">"last"</span>``, the value `(alphabet_size-<span class="num">1</span>)` is reserved <span class="kw">for</span> blank label.

If a sequence of labels is shorter than *label_sequence_length*, use the special
padding value at the end of the sequence to conform it to the correct
length. The padding value is `<span class="num">0</span>` when `blank_label` is ``<span class="lit">"first"</span>``, and `-<span class="num">1</span>` otherwise.

For example, suppose the vocabulary is `[a, b, c]`, and in one batch we have three sequences
<span class="lit">'ba'</span>, <span class="lit">'cbb'</span>, and <span class="lit">'abac'</span>. When `blank_label` is ``<span class="lit">"first"</span>``, we can index the labels as
`{<span class="lit">'a'</span>: <span class="num">1</span>, <span class="lit">'b'</span>: <span class="num">2</span>, <span class="lit">'c'</span>: <span class="num">3</span>}`, and we reserve the <span class="num">0</span>-th channel <span class="kw">for</span> blank label in data tensor.
The resulting `label` tensor should be padded to be::

  `[ [<span class="num">2</span>, <span class="num">1</span>, <span class="num">0</span>, <span class="num">0</span>], [<span class="num">3</span>, <span class="num">2</span>, <span class="num">2</span>, <span class="num">0</span>], [<span class="num">1</span>, <span class="num">2</span>, <span class="num">1</span>, <span class="num">3</span>] ]

When `blank_label` is ``<span class="lit">"last"</span>``, we can index the labels as
`{<span class="lit">'a'</span>: <span class="num">0</span>, <span class="lit">'b'</span>: <span class="num">1</span>, <span class="lit">'c'</span>: <span class="num">2</span>}`, and we reserve the channel index <span class="num">3</span> <span class="kw">for</span> blank label in data tensor.
The resulting `label` tensor should be padded to be::

  `[ [<span class="num">1</span>, <span class="num">0</span>, -<span class="num">1</span>, -<span class="num">1</span>], [<span class="num">2</span>, <span class="num">1</span>, <span class="num">1</span>, -<span class="num">1</span>], [<span class="num">0</span>, <span class="num">1</span>, <span class="num">0</span>, <span class="num">2</span>] ]

``out`` is a list of CTC loss values, one per example in the batch.

See *Connectionist Temporal Classification: Labelling Unsegmented
Sequence Data <span class="kw">with</span> Recurrent Neural Networks*, A. Graves *et al*. <span class="kw">for</span> more
information on the definition and the algorithm.



Defined in src/operator/nn/ctc_loss.cc:L100</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">label</dt><dd class="cmt"><p>Ground-truth labels for the loss.</p></dd><dt class="param">data_lengths</dt><dd class="cmt"><p>Lengths of data for each of the samples. Only required when use_data_lengths is true.</p></dd><dt class="param">label_lengths</dt><dd class="cmt"><p>Lengths of labels for each of the samples. Only required when use_label_lengths is true.</p></dd><dt class="param">use_data_lengths</dt><dd class="cmt"><p>Whether the data lenghts are decided by <code>data_lengths</code>. If false, the lengths are equal to the max sequence length.</p></dd><dt class="param">use_label_lengths</dt><dd class="cmt"><p>Whether the label lenghts are decided by <code>label_lengths</code>, or derived from <code>padding_mask</code>. If false, the lengths are derived from the first occurrence of the value of <code>padding_mask</code>. The value of <code>padding_mask</code> is <code><code>0</code></code> when first CTC label is reserved for blank, and <code><code>-1</code></code> when last label is reserved for blank. See <code>blank_label</code>.</p></dd><dt class="param">blank_label</dt><dd class="cmt"><p>Set the label that is reserved for blank label.If &quot;first&quot;, 0-th label is reserved, and label values for tokens in the vocabulary are between <code><code>1</code></code> and <code><code>alphabet_size-1</code></code>, and the padding mask is <code><code>-1</code></code>. If &quot;last&quot;, last label value <code><code>alphabet_size-1</code></code> is reserved for blank label instead, and label values for tokens in the vocabulary are between <code><code>0</code></code> and <code><code>alphabet_size-2</code></code>, and the padding mask is <code><code>0</code></code>.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#cumsum" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="cumsum(a:Option[org.apache.mxnet.Symbol],axis:Option[Int],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="cumsum(Option[Symbol],Option[Int],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">cumsum</span><span class="params">(<span name="a">a: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@cumsum(a:Option[org.apache.mxnet.Symbol],axis:Option[Int],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Return the cumulative sum of the elements along a given axis.

Defined in src/operator/numpy/np_cumsum.cc:L70</pre></div><dl class="paramcmts block"><dt class="param">a</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which the cumulative sum is computed. The default (None) is to compute the cumsum over the flattened array.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>Type of the returned array and of the accumulator in which the elements are summed. If dtype is not specified, it defaults to the dtype of a, unless a has an integer dtype with a precision less than that of the default platform integer. In that case, the default platform integer is used.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#degrees" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="degrees(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="degrees(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">degrees</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@degrees(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Converts each element of the input array from radians to degrees.

.. math::
   degrees([<span class="num">0</span>, \pi/<span class="num">2</span>, \pi, <span class="num">3</span>\pi/<span class="num">2</span>, <span class="num">2</span>\pi]) = [<span class="num">0</span>, <span class="num">90</span>, <span class="num">180</span>, <span class="num">270</span>, <span class="num">360</span>]

The storage <span class="kw">type</span> of ``degrees`` output depends upon the input storage <span class="kw">type</span>:

   - degrees(default) = default
   - degrees(row_sparse) = row_sparse
   - degrees(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L274</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#depth_to_space" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="depth_to_space(data:Option[org.apache.mxnet.Symbol],block_size:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="depth_to_space(Option[Symbol],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">depth_to_space</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="block_size">block_size: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@depth_to_space(data:Option[org.apache.mxnet.Symbol],block_size:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Rearranges(permutes) data from depth into blocks of spatial data.
Similar to ONNX DepthToSpace operator:
https:<span class="cmt">//github.com/onnx/onnx/blob/master/docs/Operators.md#DepthToSpace.</span>
The output is a <span class="kw">new</span> tensor where the values from depth dimension are moved in spatial blocks
to height and width dimension. The reverse of <span class="kw">this</span> operation is ``space_to_depth``.
.. math::
    \begin{gather*}
    x \prime = reshape(x, [N, block\_size, block\_size, C / (block\_size ^ <span class="num">2</span>), H * block\_size, W * block\_size]) \\
    x \prime \prime = transpose(x \prime, [<span class="num">0</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">1</span>, <span class="num">5</span>, <span class="num">2</span>]) \\
    y = reshape(x \prime \prime, [N, C / (block\_size ^ <span class="num">2</span>), H * block\_size, W * block\_size])
    \end{gather*}
where :math:`x` is an input tensor <span class="kw">with</span> default layout as :math:`[N, C, H, W]`: [batch, channels, height, width]
and :math:`y` is the output tensor of layout :math:`[N, C / (block\_size ^ <span class="num">2</span>), H * block\_size, W * block\_size]`
Example::
  x = `[ [`[ [<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>],
         [<span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>] ],
        `[ [<span class="num">6</span>, <span class="num">7</span>, <span class="num">8</span>],
         [<span class="num">9</span>, <span class="num">10</span>, <span class="num">11</span>] ],
        `[ [<span class="num">12</span>, <span class="num">13</span>, <span class="num">14</span>],
         [<span class="num">15</span>, <span class="num">16</span>, <span class="num">17</span>] ],
        `[ [<span class="num">18</span>, <span class="num">19</span>, <span class="num">20</span>],
         [<span class="num">21</span>, <span class="num">22</span>, <span class="num">23</span>] ] ] ]
  depth_to_space(x, <span class="num">2</span>) = `[ [`[ [<span class="num">0</span>, <span class="num">6</span>, <span class="num">1</span>, <span class="num">7</span>, <span class="num">2</span>, <span class="num">8</span>],
                            [<span class="num">12</span>, <span class="num">18</span>, <span class="num">13</span>, <span class="num">19</span>, <span class="num">14</span>, <span class="num">20</span>],
                            [<span class="num">3</span>, <span class="num">9</span>, <span class="num">4</span>, <span class="num">10</span>, <span class="num">5</span>, <span class="num">11</span>],
                            [<span class="num">15</span>, <span class="num">21</span>, <span class="num">16</span>, <span class="num">22</span>, <span class="num">17</span>, <span class="num">23</span>] ] ] ]


Defined in src/operator/tensor/matrix_op.cc:L972</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">block_size</dt><dd class="cmt"><p>Blocks of [block_size. block_size] are moved</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#diag" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="diag(data:Option[org.apache.mxnet.Symbol],k:Option[Int],axis1:Option[Int],axis2:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="diag(Option[Symbol],Option[Int],Option[Int],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">diag</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="k">k: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="axis1">axis1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="axis2">axis2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@diag(data:Option[org.apache.mxnet.Symbol],k:Option[Int],axis1:Option[Int],axis2:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Extracts a diagonal or constructs a diagonal array.

``diag``'s behavior depends on the input array dimensions:

- <span class="num">1</span>-D arrays: constructs a <span class="num">2</span>-D array <span class="kw">with</span> the input as its diagonal, all other elements are zero.
- N-D arrays: extracts the diagonals of the sub-arrays <span class="kw">with</span> axes specified by ``axis1`` and ``axis2``.
  The output shape would be decided by removing the axes numbered ``axis1`` and ``axis2`` from the
  input shape and appending to the result a <span class="kw">new</span> axis <span class="kw">with</span> the size of the diagonals in question.

  For example, when the input shape is `(<span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>)`, ``axis1`` and ``axis2`` are <span class="num">0</span> and <span class="num">2</span>
  respectively and ``k`` is <span class="num">0</span>, the resulting shape would be `(<span class="num">3</span>, <span class="num">5</span>, <span class="num">2</span>)`.

Examples::

  x = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>],
       [<span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>] ]

  diag(x) = [<span class="num">1</span>, <span class="num">5</span>]

  diag(x, k=<span class="num">1</span>) = [<span class="num">2</span>, <span class="num">6</span>]

  diag(x, k=-<span class="num">1</span>) = [<span class="num">4</span>]

  x = [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>]

  diag(x) = `[ [<span class="num">1</span>, <span class="num">0</span>, <span class="num">0</span>],
             [<span class="num">0</span>, <span class="num">2</span>, <span class="num">0</span>],
             [<span class="num">0</span>, <span class="num">0</span>, <span class="num">3</span>] ]

  diag(x, k=<span class="num">1</span>) = `[ [<span class="num">0</span>, <span class="num">1</span>, <span class="num">0</span>],
                  [<span class="num">0</span>, <span class="num">0</span>, <span class="num">2</span>],
                  [<span class="num">0</span>, <span class="num">0</span>, <span class="num">0</span>] ]

  diag(x, k=-<span class="num">1</span>) = `[ [<span class="num">0</span>, <span class="num">0</span>, <span class="num">0</span>],
                   [<span class="num">1</span>, <span class="num">0</span>, <span class="num">0</span>],
                   [<span class="num">0</span>, <span class="num">2</span>, <span class="num">0</span>] ]

  x = `[ `[ [<span class="num">1</span>, <span class="num">2</span>],
        [<span class="num">3</span>, <span class="num">4</span>] ],

       `[ [<span class="num">5</span>, <span class="num">6</span>],
        [<span class="num">7</span>, <span class="num">8</span>] ] ]

  diag(x) = `[ [<span class="num">1</span>, <span class="num">7</span>],
             [<span class="num">2</span>, <span class="num">8</span>] ]

  diag(x, k=<span class="num">1</span>) = `[ [<span class="num">3</span>],
                  [<span class="num">4</span>] ]

  diag(x, axis1=-<span class="num">2</span>, axis2=-<span class="num">1</span>) = `[ [<span class="num">1</span>, <span class="num">4</span>],
                                 [<span class="num">5</span>, <span class="num">8</span>] ]



Defined in src/operator/tensor/diag_op.cc:L87</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">k</dt><dd class="cmt"><p>Diagonal in question. The default is 0. Use k&gt;0 for diagonals above the main diagonal, and k&lt;0 for diagonals below the main diagonal. If input has shape (S0 S1) k must be between -S0 and S1</p></dd><dt class="param">axis1</dt><dd class="cmt"><p>The first axis of the sub-arrays of interest. Ignored when the input is a 1-D array.</p></dd><dt class="param">axis2</dt><dd class="cmt"><p>The second axis of the sub-arrays of interest. Ignored when the input is a 1-D array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#dot" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="dot(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],forward_stype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="dot(Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">dot</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose_a">transpose_a: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="transpose_b">transpose_b: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="forward_stype">forward_stype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@dot(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],forward_stype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Dot product of two arrays.

``dot``'s behavior depends on the input array dimensions:

- <span class="num">1</span>-D arrays: inner product of vectors
- <span class="num">2</span>-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 <span class="num">3</span>-D ``x`` <span class="kw">with</span> shape `(n,m,k)` and ``y`` <span class="kw">with</span> 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([<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>,<span class="num">6</span>,<span class="num">7</span>], shape=(<span class="num">2</span>,<span class="num">2</span>,<span class="num">2</span>))
    y = reshape([<span class="num">7</span>,<span class="num">6</span>,<span class="num">5</span>,<span class="num">4</span>,<span class="num">3</span>,<span class="num">2</span>,<span class="num">1</span>,<span class="num">0</span>], shape=(<span class="num">2</span>,<span class="num">2</span>,<span class="num">2</span>))
    dot(x,y)[<span class="num">0</span>,<span class="num">0</span>,<span class="num">1</span>,<span class="num">1</span>] = <span class="num">0</span>
    sum(x[<span class="num">0</span>,<span class="num">0</span>,:]*y[:,<span class="num">1</span>,<span class="num">1</span>]) = <span class="num">0</span>

The storage <span class="kw">type</span> of ``dot`` output depends on storage types of inputs, transpose option and
forward_stype option <span class="kw">for</span> output storage <span class="kw">type</span>. Implemented sparse operations include:

- dot(default, default, transpose_a=True/False, transpose_b=True/False) = default
- dot(csr, default, transpose_a=True) = default
- dot(csr, default, transpose_a=True) = row_sparse
- dot(csr, default) = default
- dot(csr, row_sparse) = default
- dot(default, csr) = csr (CPU only)
- dot(default, csr, forward_stype='default') = default
- dot(default, csr, transpose_b=True, forward_stype='default') = default

If the combination of input storage types and forward_stype does not <span class="kw">match</span> any of the
above patterns, ``dot`` will fallback and generate output <span class="kw">with</span> default storage.

.. Note::

    If the storage <span class="kw">type</span> of the lhs is <span class="lit">"csr"</span>, the storage <span class="kw">type</span> of gradient w.r.t rhs will be
    <span class="lit">"row_sparse"</span>. Only a subset of optimizers support sparse gradients, including SGD, AdaGrad
    and Adam. Note that by default <span class="kw">lazy</span> updates is turned on, which may perform differently
    from standard updates. For more details, please check the Optimization API at:
    https:<span class="cmt">//mxnet.incubator.apache.org/api/python/optimization/optimization.html</span>



Defined in src/operator/tensor/dot.cc:L77</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>The first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>The second input</p></dd><dt class="param">transpose_a</dt><dd class="cmt"><p>If true then transpose the first input before dot.</p></dd><dt class="param">transpose_b</dt><dd class="cmt"><p>If true then transpose the second input before dot.</p></dd><dt class="param">forward_stype</dt><dd class="cmt"><p>The desired storage type of the forward output given by user, if thecombination of input storage types and this hint does not matchany implemented ones, the dot operator will perform fallback operationand still produce an output of the desired storage type.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#elemwise_add" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="elemwise_add(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="elemwise_add(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">elemwise_add</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@elemwise_add(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Adds arguments element-wise.

The storage <span class="kw">type</span> of ``elemwise_add`` output depends on storage types of inputs

   - elemwise_add(row_sparse, row_sparse) = row_sparse
   - elemwise_add(csr, csr) = csr
   - elemwise_add(default, csr) = default
   - elemwise_add(csr, default) = default
   - elemwise_add(default, rsp) = default
   - elemwise_add(rsp, default) = default
   - otherwise, ``elemwise_add`` generates output <span class="kw">with</span> default storage</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>second input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#elemwise_div" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="elemwise_div(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="elemwise_div(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">elemwise_div</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@elemwise_div(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Divides arguments element-wise.

The storage <span class="kw">type</span> of ``elemwise_div`` output is always dense</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>second input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#elemwise_mul" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="elemwise_mul(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="elemwise_mul(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">elemwise_mul</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@elemwise_mul(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Multiplies arguments element-wise.

The storage <span class="kw">type</span> of ``elemwise_mul`` output 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
   - elemwise_mul(csr, csr) = csr
   - otherwise, ``elemwise_mul`` generates output <span class="kw">with</span> default storage</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>second input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#elemwise_sub" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="elemwise_sub(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="elemwise_sub(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">elemwise_sub</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@elemwise_sub(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Subtracts arguments element-wise.

The storage <span class="kw">type</span> of ``elemwise_sub`` output depends on storage types of inputs

   - elemwise_sub(row_sparse, row_sparse) = row_sparse
   - elemwise_sub(csr, csr) = csr
   - elemwise_sub(default, csr) = default
   - elemwise_sub(csr, default) = default
   - elemwise_sub(default, rsp) = default
   - elemwise_sub(rsp, default) = default
   - otherwise, ``elemwise_sub`` generates output <span class="kw">with</span> default storage</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>second input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#erf" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="erf(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="erf(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">erf</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@erf(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise gauss error function of the input.

Example::

   erf([<span class="num">0</span>, -<span class="num">1.</span>, <span class="num">10.</span>]) = [<span class="num">0.</span>, -<span class="num">0.8427</span>, <span class="num">1.</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L886</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#erfinv" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="erfinv(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="erfinv(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">erfinv</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@erfinv(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise inverse gauss error function of the input.

Example::

   erfinv([<span class="num">0</span>, <span class="num">0.5</span>., -<span class="num">1.</span>]) = [<span class="num">0.</span>, <span class="num">0.4769</span>, -inf]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L907</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#exp" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="exp(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="exp(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">exp</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@exp(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise exponential value of the input.

.. math::
   exp(x) = e^x \approx <span class="num">2.718</span>^x

Example::

   exp([<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>]) = [<span class="num">1.</span>, <span class="num">2.71828175</span>, <span class="num">7.38905621</span>]

The storage <span class="kw">type</span> of ``exp`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_logexp.cc:L63</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#expand_dims" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="expand_dims(data:Option[org.apache.mxnet.Symbol],axis:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="expand_dims(Option[Symbol],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">expand_dims</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@expand_dims(data:Option[org.apache.mxnet.Symbol],axis:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Inserts a <span class="kw">new</span> axis of size <span class="num">1</span> into the array shape
For example, given ``x`` <span class="kw">with</span> shape ``(<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)``, then ``expand_dims(x, axis=<span class="num">1</span>)``
will <span class="kw">return</span> a <span class="kw">new</span> array <span class="kw">with</span> shape ``(<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">4</span>)``.


Defined in src/operator/tensor/matrix_op.cc:L395</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Source input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Position where new axis is to be inserted. Suppose that the input <code>NDArray</code>'s dimension is <code>ndim</code>, the range of the inserted axis is <code>[-ndim, ndim]</code></p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#expm1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="expm1(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="expm1(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">expm1</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@expm1(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns ``exp(x) - <span class="num">1</span>`` computed element-wise on the input.

This function provides greater precision than ``exp(x) - <span class="num">1</span>`` <span class="kw">for</span> small values of ``x``.

The storage <span class="kw">type</span> of ``expm1`` output depends upon the input storage <span class="kw">type</span>:

   - expm1(default) = default
   - expm1(row_sparse) = row_sparse
   - expm1(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_logexp.cc:L224</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#fill_element_0index" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="fill_element_0index(lhs:Option[org.apache.mxnet.Symbol],mhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="fill_element_0index(Option[Symbol],Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fill_element_0index</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mhs">mhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@fill_element_0index(lhs:Option[org.apache.mxnet.Symbol],mhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Fill one element of each line(row <span class="kw">for</span> python, column <span class="kw">for</span> R/Julia) in lhs according to index indicated by rhs and values indicated by mhs. This function assume rhs uses <span class="num">0</span>-based index.</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>Left operand to the function.</p></dd><dt class="param">mhs</dt><dd class="cmt"><p>Middle operand to the function.</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Right operand to the function.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#fix" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="fix(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="fix(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fix</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@fix(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise rounded value to the nearest \
integer towards zero of the input.

Example::

   fix([-<span class="num">2.1</span>, -<span class="num">1.9</span>, <span class="num">1.9</span>, <span class="num">2.1</span>]) = [-<span class="num">2.</span>, -<span class="num">1.</span>,  <span class="num">1.</span>, <span class="num">2.</span>]

The storage <span class="kw">type</span> of ``fix`` output depends upon the input storage <span class="kw">type</span>:

   - fix(default) = default
   - fix(row_sparse) = row_sparse
   - fix(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L875</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#flatten" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="flatten(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="flatten(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">flatten</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@flatten(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Flattens the input array into a <span class="num">2</span>-D array by collapsing the higher dimensions.
.. note:: `Flatten` is deprecated. Use `flatten` instead.
For an input array <span class="kw">with</span> shape ``(d1, d2, ..., dk)``, `flatten` operation reshapes
the input array into an output array of shape ``(d1, d2*...*dk)``.
Note that the behavior of <span class="kw">this</span> function is different from numpy.ndarray.flatten,
which behaves similar to mxnet.ndarray.reshape((-<span class="num">1</span>,)).
Example::
    x = `[ [
        [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
        [<span class="num">4</span>,<span class="num">5</span>,<span class="num">6</span>],
        [<span class="num">7</span>,<span class="num">8</span>,<span class="num">9</span>]
    ],
    [    [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
        [<span class="num">4</span>,<span class="num">5</span>,<span class="num">6</span>],
        [<span class="num">7</span>,<span class="num">8</span>,<span class="num">9</span>]
    ] ],
    flatten(x) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>],
       [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L250</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#flip" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="flip(data:Option[org.apache.mxnet.Symbol],axis:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="flip(Option[Symbol],Shape,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">flip</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@flip(data:Option[org.apache.mxnet.Symbol],axis:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Reverses the order of elements along given axis <span class="kw">while</span> preserving array shape.
Note: reverse and flip are equivalent. We use reverse in the following examples.
Examples::
  x = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
       [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>] ]
  reverse(x, axis=<span class="num">0</span>) = `[ [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>],
                        [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>] ]
  reverse(x, axis=<span class="num">1</span>) = `[ [ <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>],
                        [ <span class="num">9.</span>,  <span class="num">8.</span>,  <span class="num">7.</span>,  <span class="num">6.</span>,  <span class="num">5.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L832</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis which to reverse elements.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#floor" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="floor(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="floor(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">floor</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@floor(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise floor of the input.

The floor of the scalar x is the largest integer i, such that i &lt;= x.

Example::

   floor([-<span class="num">2.1</span>, -<span class="num">1.9</span>, <span class="num">1.5</span>, <span class="num">1.9</span>, <span class="num">2.1</span>]) = [-<span class="num">3.</span>, -<span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>]

The storage <span class="kw">type</span> of ``floor`` output depends upon the input storage <span class="kw">type</span>:

   - floor(default) = default
   - floor(row_sparse) = row_sparse
   - floor(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L837</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ftml_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ftml_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],d:Option[org.apache.mxnet.Symbol],v:Option[org.apache.mxnet.Symbol],z:Option[org.apache.mxnet.Symbol],lr:Float,beta1:Option[Float],beta2:Option[Float],epsilon:Option[Double],t:Int,wd:Option[Float],rescale_grad:Option[Float],clip_grad:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ftml_update(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Double],Int,Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ftml_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="d">d: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="v">v: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="z">z: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="beta1">beta1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta2">beta2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="epsilon">epsilon: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="t">t: <span class="extype" name="scala.Int">Int</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_grad">clip_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ftml_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],d:Option[org.apache.mxnet.Symbol],v:Option[org.apache.mxnet.Symbol],z:Option[org.apache.mxnet.Symbol],lr:Float,beta1:Option[Float],beta2:Option[Float],epsilon:Option[Double],t:Int,wd:Option[Float],rescale_grad:Option[Float],clip_grad:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>The FTML optimizer described in
*FTML - Follow the Moving Leader in Deep Learning*,
available at http:<span class="cmt">//proceedings.mlr.press/v70/zheng17a/zheng17a.pdf.</span>

.. math::

 g_t = \nabla J(W_{t-<span class="num">1</span>})\\
 v_t = \beta_2 v_{t-<span class="num">1</span>} + (<span class="num">1</span> - \beta_2) g_t^<span class="num">2</span>\\
 d_t = \frac{ <span class="num">1</span> - \beta_1^t }{ \eta_t } (\sqrt{ \frac{ v_t }{ <span class="num">1</span> - \beta_2^t } } + \epsilon)
 \sigma_t = d_t - \beta_1 d_{t-<span class="num">1</span>}
 z_t = \beta_1 z_{ t-<span class="num">1</span> } + (<span class="num">1</span> - \beta_1^t) g_t - \sigma_t W_{t-<span class="num">1</span>}
 W_t = - \frac{ z_t }{ d_t }



Defined in src/operator/optimizer_op.cc:L640</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">d</dt><dd class="cmt"><p>Internal state <code><code>d_t</code></code></p></dd><dt class="param">v</dt><dd class="cmt"><p>Internal state <code><code>v_t</code></code></p></dd><dt class="param">z</dt><dd class="cmt"><p>Internal state <code><code>z_t</code></code></p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate.</p></dd><dt class="param">beta1</dt><dd class="cmt"><p>Generally close to 0.5.</p></dd><dt class="param">beta2</dt><dd class="cmt"><p>Generally close to 1.</p></dd><dt class="param">epsilon</dt><dd class="cmt"><p>Epsilon to prevent div 0.</p></dd><dt class="param">t</dt><dd class="cmt"><p>Number of update.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_grad</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ftrl_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ftrl_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],z:Option[org.apache.mxnet.Symbol],n:Option[org.apache.mxnet.Symbol],lr:Float,lamda1:Option[Float],beta:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ftrl_update(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ftrl_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="z">z: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="n">n: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="lamda1">lamda1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ftrl_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],z:Option[org.apache.mxnet.Symbol],n:Option[org.apache.mxnet.Symbol],lr:Float,lamda1:Option[Float],beta:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> Ftrl optimizer.
Referenced from *Ad Click Prediction: a View from the Trenches*, available at
http:<span class="cmt">//dl.acm.org/citation.cfm?id=2488200.</span>

It updates the weights using::

 rescaled_grad = clip(grad * rescale_grad, clip_gradient)
 z += rescaled_grad - (sqrt(n + rescaled_grad**<span class="num">2</span>) - sqrt(n)) * weight / learning_rate
 n += rescaled_grad**<span class="num">2</span>
 w = (sign(z) * lamda1 - z) / ((beta + sqrt(n)) / learning_rate + wd) * (abs(z) &gt; lamda1)

If w, z and n are all of ``row_sparse`` storage <span class="kw">type</span>,
only the row slices whose indices appear in grad.indices are updated (<span class="kw">for</span> w, z and n)::

 <span class="kw">for</span> row in grad.indices:
     rescaled_grad[row] = clip(grad[row] * rescale_grad, clip_gradient)
     z[row] += rescaled_grad[row] - (sqrt(n[row] + rescaled_grad[row]**<span class="num">2</span>) - sqrt(n[row])) * weight[row] / learning_rate
     n[row] += rescaled_grad[row]**<span class="num">2</span>
     w[row] = (sign(z[row]) * lamda1 - z[row]) / ((beta + sqrt(n[row])) / learning_rate + wd) * (abs(z[row]) &gt; lamda1)



Defined in src/operator/optimizer_op.cc:L876</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">z</dt><dd class="cmt"><p>z</p></dd><dt class="param">n</dt><dd class="cmt"><p>Square of grad</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">lamda1</dt><dd class="cmt"><p>The L1 regularization coefficient.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Per-Coordinate Learning Rate beta.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#gamma" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="gamma(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="gamma(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">gamma</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@gamma(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the gamma function (extension of the factorial function \
to the reals), computed element-wise on the input array.

The storage <span class="kw">type</span> of ``gamma`` output is always dense</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#gammaln" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="gammaln(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="gammaln(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">gammaln</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@gammaln(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise log of the absolute value of the gamma function \
of the input.

The storage <span class="kw">type</span> of ``gammaln`` output is always dense</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#gather_nd" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="gather_nd(data:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="gather_nd(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">gather_nd</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="indices">indices: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@gather_nd(data:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Gather elements or slices from `data` and store to a tensor whose
shape is defined by `indices`.

Given `data` <span class="kw">with</span> shape `(X_0, X_1, ..., X_{N-<span class="num">1</span>})` and indices <span class="kw">with</span> shape
`(M, Y_0, ..., Y_{K-<span class="num">1</span>})`, the output will have shape `(Y_0, ..., Y_{K-<span class="num">1</span>}, X_M, ..., X_{N-<span class="num">1</span>})`,
where `M &lt;= N`. If `M == N`, output shape will simply be `(Y_0, ..., Y_{K-<span class="num">1</span>})`.

The elements in output is defined as follows::

  output[y_0, ..., y_{K-<span class="num">1</span>}, x_M, ..., x_{N-<span class="num">1</span>}] = data[indices[<span class="num">0</span>, y_0, ..., y_{K-<span class="num">1</span>}],
                                                      ...,
                                                      indices[M-<span class="num">1</span>, y_0, ..., y_{K-<span class="num">1</span>}],
                                                      x_M, ..., x_{N-<span class="num">1</span>}]

Examples::

  data = `[ [<span class="num">0</span>, <span class="num">1</span>], [<span class="num">2</span>, <span class="num">3</span>] ]
  indices = `[ [<span class="num">1</span>, <span class="num">1</span>, <span class="num">0</span>], [<span class="num">0</span>, <span class="num">1</span>, <span class="num">0</span>] ]
  gather_nd(data, indices) = [<span class="num">2</span>, <span class="num">3</span>, <span class="num">0</span>]

  data = `[ `[ [<span class="num">1</span>, <span class="num">2</span>], [<span class="num">3</span>, <span class="num">4</span>] ], `[ [<span class="num">5</span>, <span class="num">6</span>], [<span class="num">7</span>, <span class="num">8</span>] ] ]
  indices = `[ [<span class="num">0</span>, <span class="num">1</span>], [<span class="num">1</span>, <span class="num">0</span>] ]
  gather_nd(data, indices) = `[ [<span class="num">3</span>, <span class="num">4</span>], [<span class="num">5</span>, <span class="num">6</span>] ]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>data</p></dd><dt class="param">indices</dt><dd class="cmt"><p>indices</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#hard_sigmoid" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="hard_sigmoid(data:Option[org.apache.mxnet.Symbol],alpha:Option[Float],beta:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="hard_sigmoid(Option[Symbol],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hard_sigmoid</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@hard_sigmoid(data:Option[org.apache.mxnet.Symbol],alpha:Option[Float],beta:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes hard sigmoid of x element-wise.

.. math::
   y = max(<span class="num">0</span>, min(<span class="num">1</span>, alpha * x + beta))



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L161</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Slope of hard sigmoid</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Bias of hard sigmoid.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#identity" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="identity(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="identity(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">identity</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@identity(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns a copy of the input.

From:src/operator/tensor/elemwise_unary_op_basic.cc:<span class="num">246</span></pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#khatri_rao" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="khatri_rao(args:Array[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="khatri_rao(Array[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">khatri_rao</span><span class="params">(<span name="args">args: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@khatri_rao(args:Array[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the Khatri-Rao product of the input matrices.

Given a collection of :math:`n` input matrices,

.. math::
   A_1 \in \mathbb{R}^{M_1 \times M}, \ldots, A_n \in \mathbb{R}^{M_n \times N},

the (column-wise) Khatri-Rao product is defined as the matrix,

.. math::
   X = A_1 \otimes \cdots \otimes A_n \in \mathbb{R}^{(M_1 \cdots M_n) \times N},

where the :math:`k` th column is equal to the column-wise outer product
:math:`{A_1}_k \otimes \cdots \otimes {A_n}_k` where :math:`{A_i}_k` is the kth
column of the ith matrix.

Example::

  &gt;&gt;&gt; A = mx.nd.array(`[ [<span class="num">1</span>, -<span class="num">1</span>],
  &gt;&gt;&gt;                  [<span class="num">2</span>, -<span class="num">3</span>] ])
  &gt;&gt;&gt; B = mx.nd.array(`[ [<span class="num">1</span>, <span class="num">4</span>],
  &gt;&gt;&gt;                  [<span class="num">2</span>, <span class="num">5</span>],
  &gt;&gt;&gt;                  [<span class="num">3</span>, <span class="num">6</span>] ])
  &gt;&gt;&gt; C = mx.nd.khatri_rao(A, B)
  &gt;&gt;&gt; print(C.asnumpy())
  `[ [  <span class="num">1.</span>  -<span class="num">4.</span>]
   [  <span class="num">2.</span>  -<span class="num">5.</span>]
   [  <span class="num">3.</span>  -<span class="num">6.</span>]
   [  <span class="num">2.</span> -<span class="num">12.</span>]
   [  <span class="num">4.</span> -<span class="num">15.</span>]
   [  <span class="num">6.</span> -<span class="num">18.</span>] ]



Defined in src/operator/contrib/krprod.cc:L108</pre></div><dl class="paramcmts block"><dt class="param">args</dt><dd class="cmt"><p>Positional input matrices</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#lamb_update_phase1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="lamb_update_phase1(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mean:Option[org.apache.mxnet.Symbol],vari:Option[org.apache.mxnet.Symbol],beta1:Option[Float],beta2:Option[Float],epsilon:Option[Float],t:Int,bias_correction:Option[Boolean],wd:Float,rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="lamb_update_phase1(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Float],Option[Float],Option[Float],Int,Option[Boolean],Float,Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">lamb_update_phase1</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mean">mean: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="vari">vari: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta1">beta1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta2">beta2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="epsilon">epsilon: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="t">t: <span class="extype" name="scala.Int">Int</span></span>, <span name="bias_correction">bias_correction: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Float">Float</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@lamb_update_phase1(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mean:Option[org.apache.mxnet.Symbol],vari:Option[org.apache.mxnet.Symbol],beta1:Option[Float],beta2:Option[Float],epsilon:Option[Float],t:Int,bias_correction:Option[Boolean],wd:Float,rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Phase I of lamb update it performs the following operations and returns g:.

Link to paper: https:<span class="cmt">//arxiv.org/pdf/1904.00962.pdf</span>

.. math::
    \begin{gather*}
    grad = grad * rescale_grad
    <span class="kw">if</span> (grad &lt; -clip_gradient)
    then
         grad = -clip_gradient
    <span class="kw">if</span> (grad &gt; clip_gradient)
    then
         grad = clip_gradient

    mean = beta1 * mean + (<span class="num">1</span> - beta1) * grad;
    variance = beta2 * variance + (<span class="num">1.</span> - beta2) * grad ^ <span class="num">2</span>;

    <span class="kw">if</span> (bias_correction)
    then
         mean_hat = mean / (<span class="num">1.</span> - beta1^t);
         var_hat = <span class="kw">var</span> / (<span class="num">1</span> - beta2^t);
         g = mean_hat / (var_hat^(<span class="num">1</span>/<span class="num">2</span>) + epsilon) + wd * weight;
    <span class="kw">else</span>
         g = mean / (var_data^(<span class="num">1</span>/<span class="num">2</span>) + epsilon) + wd * weight;
    \end{gather*}



Defined in src/operator/optimizer_op.cc:L953</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mean</dt><dd class="cmt"><p>Moving mean</p></dd><dt class="param">vari</dt><dd class="cmt"><p>Moving variance</p></dd><dt class="param">beta1</dt><dd class="cmt"><p>The decay rate for the 1st moment estimates.</p></dd><dt class="param">beta2</dt><dd class="cmt"><p>The decay rate for the 2nd moment estimates.</p></dd><dt class="param">epsilon</dt><dd class="cmt"><p>A small constant for numerical stability.</p></dd><dt class="param">t</dt><dd class="cmt"><p>Index update count.</p></dd><dt class="param">bias_correction</dt><dd class="cmt"><p>Whether to use bias correction.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#lamb_update_phase2" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="lamb_update_phase2(weight:Option[org.apache.mxnet.Symbol],g:Option[org.apache.mxnet.Symbol],r1:Option[org.apache.mxnet.Symbol],r2:Option[org.apache.mxnet.Symbol],lr:Float,lower_bound:Option[Float],upper_bound:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="lamb_update_phase2(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">lamb_update_phase2</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="g">g: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="r1">r1: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="r2">r2: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="lower_bound">lower_bound: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="upper_bound">upper_bound: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@lamb_update_phase2(weight:Option[org.apache.mxnet.Symbol],g:Option[org.apache.mxnet.Symbol],r1:Option[org.apache.mxnet.Symbol],r2:Option[org.apache.mxnet.Symbol],lr:Float,lower_bound:Option[Float],upper_bound:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Phase II of lamb update it performs the following operations and updates grad.

Link to paper: https:<span class="cmt">//arxiv.org/pdf/1904.00962.pdf</span>

.. math::
    \begin{gather*}
    <span class="kw">if</span> (lower_bound &gt;= <span class="num">0</span>)
    then
         r1 = max(r1, lower_bound)
    <span class="kw">if</span> (upper_bound &gt;= <span class="num">0</span>)
    then
         r1 = max(r1, upper_bound)

    <span class="kw">if</span> (r1 == <span class="num">0</span> or r2 == <span class="num">0</span>)
    then
         lr = lr
    <span class="kw">else</span>
         lr = lr * (r1/r2)
    weight = weight - lr * g
    \end{gather*}



Defined in src/operator/optimizer_op.cc:L992</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">g</dt><dd class="cmt"><p>Output of lamb_update_phase 1</p></dd><dt class="param">r1</dt><dd class="cmt"><p>r1</p></dd><dt class="param">r2</dt><dd class="cmt"><p>r2</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">lower_bound</dt><dd class="cmt"><p>Lower limit of norm of weight. If lower_bound &lt;= 0, Lower limit is not set</p></dd><dt class="param">upper_bound</dt><dd class="cmt"><p>Upper limit of norm of weight. If upper_bound &lt;= 0, Upper limit is not set</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_det" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_det(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_det(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_det</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_det(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Compute the determinant of a matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, *A* is a square matrix. We compute:

  *out* = *det(A)*

If *n&gt;<span class="num">2</span>*, *det* is performed separately on the trailing two dimensions
<span class="kw">for</span> all inputs (batch mode).

.. note:: The operator supports float32 and float64 data types only.
.. note:: There is no gradient backwarded when A is non-invertible (which is
          equivalent to det(A) = <span class="num">0</span>) because zero is rarely hit upon in float
          point computation and the Jacobi's formula on determinant gradient
          is not computationally efficient when A is non-invertible.

Examples::

   Single matrix determinant
   A = `[ [<span class="num">1.</span>, <span class="num">4.</span>], [<span class="num">2.</span>, <span class="num">3.</span>] ]
   det(A) = [-<span class="num">5.</span>]

   Batch matrix determinant
   A = `[ `[ [<span class="num">1.</span>, <span class="num">4.</span>], [<span class="num">2.</span>, <span class="num">3.</span>] ],
        `[ [<span class="num">2.</span>, <span class="num">3.</span>], [<span class="num">1.</span>, <span class="num">4.</span>] ] ]
   det(A) = [-<span class="num">5.</span>, <span class="num">5.</span>]


Defined in src/operator/tensor/la_op.cc:L973</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of square matrix</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_extractdiag" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_extractdiag(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_extractdiag(Option[Symbol],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_extractdiag</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="offset">offset: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_extractdiag(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Extracts the diagonal entries of a square matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, then *A* represents a single square matrix which diagonal elements get extracted as a <span class="num">1</span>-dimensional tensor.

If *n&gt;<span class="num">2</span>*, then *A* represents a batch of square matrices on the trailing two dimensions. The extracted diagonals are returned as an *n-<span class="num">1</span>*-dimensional tensor.

.. note:: The operator supports float32 and float64 data types only.

Examples::

    Single matrix diagonal extraction
    A = `[ [<span class="num">1.0</span>, <span class="num">2.0</span>],
         [<span class="num">3.0</span>, <span class="num">4.0</span>] ]

    extractdiag(A) = [<span class="num">1.0</span>, <span class="num">4.0</span>]

    extractdiag(A, <span class="num">1</span>) = [<span class="num">2.0</span>]

    Batch matrix diagonal extraction
    A = `[ `[ [<span class="num">1.0</span>, <span class="num">2.0</span>],
          [<span class="num">3.0</span>, <span class="num">4.0</span>] ],
         `[ [<span class="num">5.0</span>, <span class="num">6.0</span>],
          [<span class="num">7.0</span>, <span class="num">8.0</span>] ] ]

    extractdiag(A) = `[ [<span class="num">1.0</span>, <span class="num">4.0</span>],
                      [<span class="num">5.0</span>, <span class="num">8.0</span>] ]


Defined in src/operator/tensor/la_op.cc:L495</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of square matrices</p></dd><dt class="param">offset</dt><dd class="cmt"><p>Offset of the diagonal versus the main diagonal. 0 corresponds to the main diagonal, a negative/positive value to diagonals below/above the main diagonal.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_extracttrian" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_extracttrian(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],lower:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_extracttrian(Option[Symbol],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_extracttrian</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="offset">offset: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="lower">lower: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_extracttrian(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],lower:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Extracts a triangular sub-matrix from a square matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, then *A* represents a single square matrix from which a triangular sub-matrix is extracted as a <span class="num">1</span>-dimensional tensor.

If *n&gt;<span class="num">2</span>*, then *A* represents a batch of square matrices on the trailing two dimensions. The extracted triangular sub-matrices are returned as an *n-<span class="num">1</span>*-dimensional tensor.

The *offset* and *lower* parameters determine the triangle to be extracted:

- When *offset = <span class="num">0</span>* either the lower or upper triangle <span class="kw">with</span> respect to the main diagonal is extracted depending on the value of parameter *lower*.
- When *offset = k &gt; <span class="num">0</span>* the upper triangle <span class="kw">with</span> respect to the k-th diagonal above the main diagonal is extracted.
- When *offset = k &lt; <span class="num">0</span>* the lower triangle <span class="kw">with</span> respect to the k-th diagonal below the main diagonal is extracted.

.. note:: The operator supports float32 and float64 data types only.

Examples::

    Single triagonal extraction
    A = `[ [<span class="num">1.0</span>, <span class="num">2.0</span>],
         [<span class="num">3.0</span>, <span class="num">4.0</span>] ]

    extracttrian(A) = [<span class="num">1.0</span>, <span class="num">3.0</span>, <span class="num">4.0</span>]
    extracttrian(A, lower=False) = [<span class="num">1.0</span>, <span class="num">2.0</span>, <span class="num">4.0</span>]
    extracttrian(A, <span class="num">1</span>) = [<span class="num">2.0</span>]
    extracttrian(A, -<span class="num">1</span>) = [<span class="num">3.0</span>]

    Batch triagonal extraction
    A = `[ `[ [<span class="num">1.0</span>, <span class="num">2.0</span>],
          [<span class="num">3.0</span>, <span class="num">4.0</span>] ],
         `[ [<span class="num">5.0</span>, <span class="num">6.0</span>],
          [<span class="num">7.0</span>, <span class="num">8.0</span>] ] ]

    extracttrian(A) = `[ [<span class="num">1.0</span>, <span class="num">3.0</span>, <span class="num">4.0</span>],
                       [<span class="num">5.0</span>, <span class="num">7.0</span>, <span class="num">8.0</span>] ]


Defined in src/operator/tensor/la_op.cc:L605</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of square matrices</p></dd><dt class="param">offset</dt><dd class="cmt"><p>Offset of the diagonal versus the main diagonal. 0 corresponds to the main diagonal, a negative/positive value to diagonals below/above the main diagonal.</p></dd><dt class="param">lower</dt><dd class="cmt"><p>Refer to the lower triangular matrix if lower=true, refer to the upper otherwise. Only relevant when offset=0</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_gelqf" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_gelqf(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_gelqf(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_gelqf</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_gelqf(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>LQ factorization <span class="kw">for</span> general matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, we compute the LQ factorization (LAPACK *gelqf*, followed by *orglq*). *A*
must have shape *(x, y)* <span class="kw">with</span> *x &lt;= y*, and must have full rank *=x*. The LQ
factorization consists of *L* <span class="kw">with</span> shape *(x, x)* and *Q* <span class="kw">with</span> shape *(x, y)*, so
that:

   *A* = *L* \* *Q*

Here, *L* is lower triangular (upper triangle equal to zero) <span class="kw">with</span> nonzero diagonal,
and *Q* is row-orthonormal, meaning that

   *Q* \* *Q*\ :sup:`T`

is equal to the identity matrix of shape *(x, x)*.

If *n&gt;<span class="num">2</span>*, *gelqf* is performed separately on the trailing two dimensions <span class="kw">for</span> all
inputs (batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single LQ factorization
   A = `[ [<span class="num">1.</span>, <span class="num">2.</span>, <span class="num">3.</span>], [<span class="num">4.</span>, <span class="num">5.</span>, <span class="num">6.</span>] ]
   Q, L = gelqf(A)
   Q = `[ [-<span class="num">0.26726124</span>, -<span class="num">0.53452248</span>, -<span class="num">0.80178373</span>],
        [<span class="num">0.87287156</span>, <span class="num">0.21821789</span>, -<span class="num">0.43643578</span>] ]
   L = `[ [-<span class="num">3.74165739</span>, <span class="num">0.</span>],
        [-<span class="num">8.55235974</span>, <span class="num">1.96396101</span>] ]

   Batch LQ factorization
   A = `[ `[ [<span class="num">1.</span>, <span class="num">2.</span>, <span class="num">3.</span>], [<span class="num">4.</span>, <span class="num">5.</span>, <span class="num">6.</span>] ],
        `[ [<span class="num">7.</span>, <span class="num">8.</span>, <span class="num">9.</span>], [<span class="num">10.</span>, <span class="num">11.</span>, <span class="num">12.</span>] ] ]
   Q, L = gelqf(A)
   Q = `[ `[ [-<span class="num">0.26726124</span>, -<span class="num">0.53452248</span>, -<span class="num">0.80178373</span>],
         [<span class="num">0.87287156</span>, <span class="num">0.21821789</span>, -<span class="num">0.43643578</span>] ],
        `[ [-<span class="num">0.50257071</span>, -<span class="num">0.57436653</span>, -<span class="num">0.64616234</span>],
         [<span class="num">0.7620735</span>, <span class="num">0.05862104</span>, -<span class="num">0.64483142</span>] ] ]
   L = `[ `[ [-<span class="num">3.74165739</span>, <span class="num">0.</span>],
         [-<span class="num">8.55235974</span>, <span class="num">1.96396101</span>] ],
        `[ [-<span class="num">13.92838828</span>, <span class="num">0.</span>],
         [-<span class="num">19.09768702</span>, <span class="num">0.52758934</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L798</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of input matrices to be factorized</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_gemm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_gemm(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],C:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],alpha:Option[Double],beta:Option[Double],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_gemm(Option[Symbol],Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[Double],Option[Double],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_gemm</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="B">B: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="C">C: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose_a">transpose_a: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="transpose_b">transpose_b: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_gemm(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],C:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],alpha:Option[Double],beta:Option[Double],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs general matrix multiplication and accumulation.
Input are tensors *A*, *B*, *C*, each of dimension *n &gt;= <span class="num">2</span>* and having the same shape
on the leading *n-<span class="num">2</span>* dimensions.

If *n=<span class="num">2</span>*, the BLAS3 function *gemm* is performed:

   *out* = *alpha* \* *op*\ (*A*) \* *op*\ (*B*) + *beta* \* *C*

Here, *alpha* and *beta* are scalar parameters, and *op()* is either the identity or
matrix transposition (depending on *transpose_a*, *transpose_b*).

If *n&gt;<span class="num">2</span>*, *gemm* is performed separately <span class="kw">for</span> a batch of matrices. The column indices of the matrices
are given by the last dimensions of the tensors, the row indices by the axis specified <span class="kw">with</span> the *axis*
parameter. By default, the trailing two dimensions will be used <span class="kw">for</span> matrix encoding.

For a non-default axis parameter, the operation performed is equivalent to a series of swapaxes/gemm/swapaxes
calls. For example let *A*, *B*, *C* be <span class="num">5</span> dimensional tensors. Then gemm(*A*, *B*, *C*, axis=<span class="num">1</span>) is equivalent
to the following without the overhead of the additional swapaxis operations::

    A1 = swapaxes(A, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)
    B1 = swapaxes(B, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)
    C = swapaxes(C, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)
    C = gemm(A1, B1, C)
    C = swapaxis(C, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)

When the input data is of <span class="kw">type</span> float32 and the environment variables MXNET_CUDA_ALLOW_TENSOR_CORE
and MXNET_CUDA_TENSOR_OP_MATH_ALLOW_CONVERSION are set to <span class="num">1</span>, <span class="kw">this</span> operator will <span class="kw">try</span> to use
pseudo-float16 precision (float32 math <span class="kw">with</span> float16 I/O) precision in order to use
Tensor Cores on suitable NVIDIA GPUs. This can sometimes give significant speedups.

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix multiply-add
   A = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ]
   B = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ]
   C = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>] ]
   gemm(A, B, C, transpose_b=True, alpha=<span class="num">2.0</span>, beta=<span class="num">10.0</span>)
           = `[ [<span class="num">14.0</span>, <span class="num">14.0</span>, <span class="num">14.0</span>], [<span class="num">14.0</span>, <span class="num">14.0</span>, <span class="num">14.0</span>] ]

   Batch matrix multiply-add
   A = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">0.1</span>, <span class="num">0.1</span>] ] ]
   B = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">0.1</span>, <span class="num">0.1</span>] ] ]
   C = `[ `[ [<span class="num">10.0</span>] ], `[ [<span class="num">0.01</span>] ] ]
   gemm(A, B, C, transpose_b=True, alpha=<span class="num">2.0</span> , beta=<span class="num">10.0</span>)
           = `[ `[ [<span class="num">104.0</span>] ], `[ [<span class="num">0.14</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L89</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of input matrices</p></dd><dt class="param">B</dt><dd class="cmt"><p>Tensor of input matrices</p></dd><dt class="param">C</dt><dd class="cmt"><p>Tensor of input matrices</p></dd><dt class="param">transpose_a</dt><dd class="cmt"><p>Multiply with transposed of first input (A).</p></dd><dt class="param">transpose_b</dt><dd class="cmt"><p>Multiply with transposed of second input (B).</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Scalar factor multiplied with A*B.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Scalar factor multiplied with C.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis corresponding to the matrix rows.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_gemm2" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_gemm2(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],alpha:Option[Double],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_gemm2(Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[Double],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_gemm2</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="B">B: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose_a">transpose_a: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="transpose_b">transpose_b: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_gemm2(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],transpose_a:Option[Boolean],transpose_b:Option[Boolean],alpha:Option[Double],axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs general matrix multiplication.
Input are tensors *A*, *B*, each of dimension *n &gt;= <span class="num">2</span>* and having the same shape
on the leading *n-<span class="num">2</span>* dimensions.

If *n=<span class="num">2</span>*, the BLAS3 function *gemm* is performed:

   *out* = *alpha* \* *op*\ (*A*) \* *op*\ (*B*)

Here *alpha* is a scalar parameter and *op()* is either the identity or the matrix
transposition (depending on *transpose_a*, *transpose_b*).

If *n&gt;<span class="num">2</span>*, *gemm* is performed separately <span class="kw">for</span> a batch of matrices. The column indices of the matrices
are given by the last dimensions of the tensors, the row indices by the axis specified <span class="kw">with</span> the *axis*
parameter. By default, the trailing two dimensions will be used <span class="kw">for</span> matrix encoding.

For a non-default axis parameter, the operation performed is equivalent to a series of swapaxes/gemm/swapaxes
calls. For example let *A*, *B* be <span class="num">5</span> dimensional tensors. Then gemm(*A*, *B*, axis=<span class="num">1</span>) is equivalent to
the following without the overhead of the additional swapaxis operations::

    A1 = swapaxes(A, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)
    B1 = swapaxes(B, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)
    C = gemm2(A1, B1)
    C = swapaxis(C, dim1=<span class="num">1</span>, dim2=<span class="num">3</span>)

When the input data is of <span class="kw">type</span> float32 and the environment variables MXNET_CUDA_ALLOW_TENSOR_CORE
and MXNET_CUDA_TENSOR_OP_MATH_ALLOW_CONVERSION are set to <span class="num">1</span>, <span class="kw">this</span> operator will <span class="kw">try</span> to use
pseudo-float16 precision (float32 math <span class="kw">with</span> float16 I/O) precision in order to use
Tensor Cores on suitable NVIDIA GPUs. This can sometimes give significant speedups.

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix multiply
   A = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ]
   B = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ]
   gemm2(A, B, transpose_b=True, alpha=<span class="num">2.0</span>)
            = `[ [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>], [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>] ]

   Batch matrix multiply
   A = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">0.1</span>, <span class="num">0.1</span>] ] ]
   B = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">0.1</span>, <span class="num">0.1</span>] ] ]
   gemm2(A, B, transpose_b=True, alpha=<span class="num">2.0</span>)
           = `[ `[ [<span class="num">4.0</span>] ], `[ [<span class="num">0.04</span> ] ] ]


Defined in src/operator/tensor/la_op.cc:L163</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of input matrices</p></dd><dt class="param">B</dt><dd class="cmt"><p>Tensor of input matrices</p></dd><dt class="param">transpose_a</dt><dd class="cmt"><p>Multiply with transposed of first input (A).</p></dd><dt class="param">transpose_b</dt><dd class="cmt"><p>Multiply with transposed of second input (B).</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Scalar factor multiplied with A*B.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis corresponding to the matrix row indices.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_inverse" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_inverse(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_inverse(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_inverse</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_inverse(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Compute the inverse of a matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, *A* is a square matrix. We compute:

  *out* = *A*\ :sup:`-<span class="num">1</span>`

If *n&gt;<span class="num">2</span>*, *inverse* is performed separately on the trailing two dimensions
<span class="kw">for</span> all inputs (batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix inverse
   A = `[ [<span class="num">1.</span>, <span class="num">4.</span>], [<span class="num">2.</span>, <span class="num">3.</span>] ]
   inverse(A) = `[ [-<span class="num">0.6</span>, <span class="num">0.8</span>], [<span class="num">0.4</span>, -<span class="num">0.2</span>] ]

   Batch matrix inverse
   A = `[ `[ [<span class="num">1.</span>, <span class="num">4.</span>], [<span class="num">2.</span>, <span class="num">3.</span>] ],
        `[ [<span class="num">1.</span>, <span class="num">3.</span>], [<span class="num">2.</span>, <span class="num">4.</span>] ] ]
   inverse(A) = `[ `[ [-<span class="num">0.6</span>, <span class="num">0.8</span>], [<span class="num">0.4</span>, -<span class="num">0.2</span>] ],
                 `[ [-<span class="num">2.</span>, <span class="num">1.5</span>], [<span class="num">1.</span>, -<span class="num">0.5</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L919</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of square matrix</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_makediag" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_makediag(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_makediag(Option[Symbol],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_makediag</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="offset">offset: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_makediag(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Constructs a square matrix <span class="kw">with</span> the input as diagonal.
Input is a tensor *A* of dimension *n &gt;= <span class="num">1</span>*.

If *n=<span class="num">1</span>*, then *A* represents the diagonal entries of a single square matrix. This matrix will be returned as a <span class="num">2</span>-dimensional tensor.
If *n&gt;<span class="num">1</span>*, then *A* represents a batch of diagonals of square matrices. The batch of diagonal matrices will be returned as an *n+<span class="num">1</span>*-dimensional tensor.

.. note:: The operator supports float32 and float64 data types only.

Examples::

    Single diagonal matrix construction
    A = [<span class="num">1.0</span>, <span class="num">2.0</span>]

    makediag(A)    = `[ [<span class="num">1.0</span>, <span class="num">0.0</span>],
                      [<span class="num">0.0</span>, <span class="num">2.0</span>] ]

    makediag(A, <span class="num">1</span>) = `[ [<span class="num">0.0</span>, <span class="num">1.0</span>, <span class="num">0.0</span>],
                      [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">2.0</span>],
                      [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">0.0</span>] ]

    Batch diagonal matrix construction
    A = `[ [<span class="num">1.0</span>, <span class="num">2.0</span>],
         [<span class="num">3.0</span>, <span class="num">4.0</span>] ]

    makediag(A) = `[ `[ [<span class="num">1.0</span>, <span class="num">0.0</span>],
                    [<span class="num">0.0</span>, <span class="num">2.0</span>] ],
                   `[ [<span class="num">3.0</span>, <span class="num">0.0</span>],
                    [<span class="num">0.0</span>, <span class="num">4.0</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L547</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of diagonal entries</p></dd><dt class="param">offset</dt><dd class="cmt"><p>Offset of the diagonal versus the main diagonal. 0 corresponds to the main diagonal, a negative/positive value to diagonals below/above the main diagonal.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_maketrian" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_maketrian(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],lower:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_maketrian(Option[Symbol],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_maketrian</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="offset">offset: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="lower">lower: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_maketrian(A:Option[org.apache.mxnet.Symbol],offset:Option[Int],lower:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Constructs a square matrix <span class="kw">with</span> the input representing a specific triangular sub-matrix.
This is basically the inverse of *linalg.extracttrian*. Input is a tensor *A* of dimension *n &gt;= <span class="num">1</span>*.

If *n=<span class="num">1</span>*, then *A* represents the entries of a triangular matrix which is lower triangular <span class="kw">if</span> *offset&lt;<span class="num">0</span>* or *offset=<span class="num">0</span>*, *lower=<span class="kw">true</span>*. The resulting matrix is derived by first constructing the square
matrix <span class="kw">with</span> the entries outside the triangle set to zero and then adding *offset*-times an additional
diagonal <span class="kw">with</span> zero entries to the square matrix.

If *n&gt;<span class="num">1</span>*, then *A* represents a batch of triangular sub-matrices. The batch of corresponding square matrices is returned as an *n+<span class="num">1</span>*-dimensional tensor.

.. note:: The operator supports float32 and float64 data types only.

Examples::

    Single  matrix construction
    A = [<span class="num">1.0</span>, <span class="num">2.0</span>, <span class="num">3.0</span>]

    maketrian(A)              = `[ [<span class="num">1.0</span>, <span class="num">0.0</span>],
                                 [<span class="num">2.0</span>, <span class="num">3.0</span>] ]

    maketrian(A, lower=<span class="kw">false</span>) = `[ [<span class="num">1.0</span>, <span class="num">2.0</span>],
                                 [<span class="num">0.0</span>, <span class="num">3.0</span>] ]

    maketrian(A, offset=<span class="num">1</span>)    = `[ [<span class="num">0.0</span>, <span class="num">1.0</span>, <span class="num">2.0</span>],
                                 [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">3.0</span>],
                                 [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">0.0</span>] ]
    maketrian(A, offset=-<span class="num">1</span>)   = `[ [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">0.0</span>],
                                 [<span class="num">1.0</span>, <span class="num">0.0</span>, <span class="num">0.0</span>],
                                 [<span class="num">2.0</span>, <span class="num">3.0</span>, <span class="num">0.0</span>] ]

    Batch matrix construction
    A = `[ [<span class="num">1.0</span>, <span class="num">2.0</span>, <span class="num">3.0</span>],
         [<span class="num">4.0</span>, <span class="num">5.0</span>, <span class="num">6.0</span>] ]

    maketrian(A)           = `[ `[ [<span class="num">1.0</span>, <span class="num">0.0</span>],
                               [<span class="num">2.0</span>, <span class="num">3.0</span>] ],
                              `[ [<span class="num">4.0</span>, <span class="num">0.0</span>],
                               [<span class="num">5.0</span>, <span class="num">6.0</span>] ] ]

    maketrian(A, offset=<span class="num">1</span>) = `[ `[ [<span class="num">0.0</span>, <span class="num">1.0</span>, <span class="num">2.0</span>],
                               [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">3.0</span>],
                               [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">0.0</span>] ],
                              `[ [<span class="num">0.0</span>, <span class="num">4.0</span>, <span class="num">5.0</span>],
                               [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">6.0</span>],
                               [<span class="num">0.0</span>, <span class="num">0.0</span>, <span class="num">0.0</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L673</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of triangular matrices stored as vectors</p></dd><dt class="param">offset</dt><dd class="cmt"><p>Offset of the diagonal versus the main diagonal. 0 corresponds to the main diagonal, a negative/positive value to diagonals below/above the main diagonal.</p></dd><dt class="param">lower</dt><dd class="cmt"><p>Refer to the lower triangular matrix if lower=true, refer to the upper otherwise. Only relevant when offset=0</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_potrf" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_potrf(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_potrf(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_potrf</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_potrf(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs Cholesky factorization of a symmetric positive-definite matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, the Cholesky factor *B* of the symmetric, positive definite matrix *A* is
computed. *B* is triangular (entries of upper or lower triangle are all zero), has
positive diagonal entries, and:

  *A* = *B* \* *B*\ :sup:`T`  <span class="kw">if</span> *lower* = *<span class="kw">true</span>*
  *A* = *B*\ :sup:`T` \* *B*  <span class="kw">if</span> *lower* = *<span class="kw">false</span>*

If *n&gt;<span class="num">2</span>*, *potrf* is performed separately on the trailing two dimensions <span class="kw">for</span> all inputs
(batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix factorization
   A = `[ [<span class="num">4.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">4.25</span>] ]
   potrf(A) = `[ [<span class="num">2.0</span>, <span class="num">0</span>], [<span class="num">0.5</span>, <span class="num">2.0</span>] ]

   Batch matrix factorization
   A = `[ `[ [<span class="num">4.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">4.25</span>] ], `[ [<span class="num">16.0</span>, <span class="num">4.0</span>], [<span class="num">4.0</span>, <span class="num">17.0</span>] ] ]
   potrf(A) = `[ `[ [<span class="num">2.0</span>, <span class="num">0</span>], [<span class="num">0.5</span>, <span class="num">2.0</span>] ], `[ [<span class="num">4.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">4.0</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L214</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of input matrices to be decomposed</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_potri" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_potri(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_potri(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_potri</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_potri(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs matrix inversion from a Cholesky factorization.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, *A* is a triangular matrix (entries of upper or lower triangle are all zero)
<span class="kw">with</span> positive diagonal. We compute:

  *out* = *A*\ :sup:`-T` \* *A*\ :sup:`-<span class="num">1</span>` <span class="kw">if</span> *lower* = *<span class="kw">true</span>*
  *out* = *A*\ :sup:`-<span class="num">1</span>` \* *A*\ :sup:`-T` <span class="kw">if</span> *lower* = *<span class="kw">false</span>*

In other words, <span class="kw">if</span> *A* is the Cholesky factor of a symmetric positive definite matrix
*B* (obtained by *potrf*), then

  *out* = *B*\ :sup:`-<span class="num">1</span>`

If *n&gt;<span class="num">2</span>*, *potri* is performed separately on the trailing two dimensions <span class="kw">for</span> all inputs
(batch mode).

.. note:: The operator supports float32 and float64 data types only.

.. note:: Use <span class="kw">this</span> operator only <span class="kw">if</span> you are certain you need the inverse of *B*, and
          cannot use the Cholesky factor *A* (*potrf*), together <span class="kw">with</span> backsubstitution
          (*trsm*). The latter is numerically much safer, and also cheaper.

Examples::

   Single matrix inverse
   A = `[ [<span class="num">2.0</span>, <span class="num">0</span>], [<span class="num">0.5</span>, <span class="num">2.0</span>] ]
   potri(A) = `[ [<span class="num">0.26563</span>, -<span class="num">0.0625</span>], [-<span class="num">0.0625</span>, <span class="num">0.25</span>] ]

   Batch matrix inverse
   A = `[ `[ [<span class="num">2.0</span>, <span class="num">0</span>], [<span class="num">0.5</span>, <span class="num">2.0</span>] ], `[ [<span class="num">4.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">4.0</span>] ] ]
   potri(A) = `[ `[ [<span class="num">0.26563</span>, -<span class="num">0.0625</span>], [-<span class="num">0.0625</span>, <span class="num">0.25</span>] ],
               `[ [<span class="num">0.06641</span>, -<span class="num">0.01562</span>], [-<span class="num">0.01562</span>, <span class="num">0</span>,<span class="num">0625</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L275</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of lower triangular matrices</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_slogdet" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_slogdet(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_slogdet(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_slogdet</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_slogdet(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Compute the sign and log of the determinant of a matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, *A* is a square matrix. We compute:

  *sign* = *sign(det(A))*
  *logabsdet* = *log(abs(det(A)))*

If *n&gt;<span class="num">2</span>*, *slogdet* is performed separately on the trailing two dimensions
<span class="kw">for</span> all inputs (batch mode).

.. note:: The operator supports float32 and float64 data types only.
.. note:: The gradient is not properly defined on sign, so the gradient of
          it is not backwarded.
.. note:: No gradient is backwarded when A is non-invertible. Please see
          the docs of operator det <span class="kw">for</span> detail.

Examples::

   Single matrix signed log determinant
   A = `[ [<span class="num">2.</span>, <span class="num">3.</span>], [<span class="num">1.</span>, <span class="num">4.</span>] ]
   sign, logabsdet = slogdet(A)
   sign = [<span class="num">1.</span>]
   logabsdet = [<span class="num">1.609438</span>]

   Batch matrix signed log determinant
   A = `[ `[ [<span class="num">2.</span>, <span class="num">3.</span>], [<span class="num">1.</span>, <span class="num">4.</span>] ],
        `[ [<span class="num">1.</span>, <span class="num">2.</span>], [<span class="num">2.</span>, <span class="num">4.</span>] ],
        `[ [<span class="num">1.</span>, <span class="num">2.</span>], [<span class="num">4.</span>, <span class="num">3.</span>] ] ]
   sign, logabsdet = slogdet(A)
   sign = [<span class="num">1.</span>, <span class="num">0.</span>, -<span class="num">1.</span>]
   logabsdet = [<span class="num">1.609438</span>, -inf, <span class="num">1.609438</span>]


Defined in src/operator/tensor/la_op.cc:L1031</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of square matrix</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_sumlogdiag" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_sumlogdiag(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_sumlogdiag(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_sumlogdiag</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_sumlogdiag(A:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the sum of the logarithms of the diagonal elements of a square matrix.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, *A* must be square <span class="kw">with</span> positive diagonal entries. We sum the natural
logarithms of the diagonal elements, the result has shape (<span class="num">1</span>,).

If *n&gt;<span class="num">2</span>*, *sumlogdiag* is performed separately on the trailing two dimensions <span class="kw">for</span> all
inputs (batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix reduction
   A = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">7.0</span>] ]
   sumlogdiag(A) = [<span class="num">1.9459</span>]

   Batch matrix reduction
   A = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">7.0</span>] ], `[ [<span class="num">3.0</span>, <span class="num">0</span>], [<span class="num">0</span>, <span class="num">17.0</span>] ] ]
   sumlogdiag(A) = [<span class="num">1.9459</span>, <span class="num">3.9318</span>]


Defined in src/operator/tensor/la_op.cc:L445</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of square matrices</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_syrk" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_syrk(A:Option[org.apache.mxnet.Symbol],transpose:Option[Boolean],alpha:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_syrk(Option[Symbol],Option[Boolean],Option[Double],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_syrk</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose">transpose: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_syrk(A:Option[org.apache.mxnet.Symbol],transpose:Option[Boolean],alpha:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Multiplication of matrix <span class="kw">with</span> its transpose.
Input is a tensor *A* of dimension *n &gt;= <span class="num">2</span>*.

If *n=<span class="num">2</span>*, the operator performs the BLAS3 function *syrk*:

  *out* = *alpha* \* *A* \* *A*\ :sup:`T`

<span class="kw">if</span> *transpose=False*, or

  *out* = *alpha* \* *A*\ :sup:`T` \ \* *A*

<span class="kw">if</span> *transpose=True*.

If *n&gt;<span class="num">2</span>*, *syrk* is performed separately on the trailing two dimensions <span class="kw">for</span> all
inputs (batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix multiply
   A = `[ [<span class="num">1.</span>, <span class="num">2.</span>, <span class="num">3.</span>], [<span class="num">4.</span>, <span class="num">5.</span>, <span class="num">6.</span>] ]
   syrk(A, alpha=<span class="num">1.</span>, transpose=False)
            = `[ [<span class="num">14.</span>, <span class="num">32.</span>],
               [<span class="num">32.</span>, <span class="num">77.</span>] ]
   syrk(A, alpha=<span class="num">1.</span>, transpose=True)
            = `[ [<span class="num">17.</span>, <span class="num">22.</span>, <span class="num">27.</span>],
               [<span class="num">22.</span>, <span class="num">29.</span>, <span class="num">36.</span>],
               [<span class="num">27.</span>, <span class="num">36.</span>, <span class="num">45.</span>] ]

   Batch matrix multiply
   A = `[ `[ [<span class="num">1.</span>, <span class="num">1.</span>] ], `[ [<span class="num">0.1</span>, <span class="num">0.1</span>] ] ]
   syrk(A, alpha=<span class="num">2.</span>, transpose=False) = `[ `[ [<span class="num">4.</span>] ], `[ [<span class="num">0.04</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L730</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of input matrices</p></dd><dt class="param">transpose</dt><dd class="cmt"><p>Use transpose of input matrix.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Scalar factor to be applied to the result.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_trmm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_trmm(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],transpose:Option[Boolean],rightside:Option[Boolean],lower:Option[Boolean],alpha:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_trmm(Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[Boolean],Option[Double],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_trmm</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="B">B: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose">transpose: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="rightside">rightside: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="lower">lower: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_trmm(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],transpose:Option[Boolean],rightside:Option[Boolean],lower:Option[Boolean],alpha:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Performs multiplication <span class="kw">with</span> a lower triangular matrix.
Input are tensors *A*, *B*, each of dimension *n &gt;= <span class="num">2</span>* and having the same shape
on the leading *n-<span class="num">2</span>* dimensions.

If *n=<span class="num">2</span>*, *A* must be triangular. The operator performs the BLAS3 function
*trmm*:

   *out* = *alpha* \* *op*\ (*A*) \* *B*

<span class="kw">if</span> *rightside=False*, or

   *out* = *alpha* \* *B* \* *op*\ (*A*)

<span class="kw">if</span> *rightside=True*. Here, *alpha* is a scalar parameter, and *op()* is either the
identity or the matrix transposition (depending on *transpose*).

If *n&gt;<span class="num">2</span>*, *trmm* is performed separately on the trailing two dimensions <span class="kw">for</span> all inputs
(batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single triangular matrix multiply
   A = `[ [<span class="num">1.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ]
   B = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>] ]
   trmm(A, B, alpha=<span class="num">2.0</span>) = `[ [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>], [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>] ]

   Batch triangular matrix multiply
   A = `[ `[ [<span class="num">1.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">1.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ] ]
   B = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">0.5</span>, <span class="num">0.5</span>, <span class="num">0.5</span>], [<span class="num">0.5</span>, <span class="num">0.5</span>, <span class="num">0.5</span>] ] ]
   trmm(A, B, alpha=<span class="num">2.0</span>) = `[ `[ [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>], [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>] ],
                            `[ [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L333</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of lower triangular matrices</p></dd><dt class="param">B</dt><dd class="cmt"><p>Tensor of matrices</p></dd><dt class="param">transpose</dt><dd class="cmt"><p>Use transposed of the triangular matrix</p></dd><dt class="param">rightside</dt><dd class="cmt"><p>Multiply triangular matrix from the right to non-triangular one.</p></dd><dt class="param">lower</dt><dd class="cmt"><p>True if the triangular matrix is lower triangular, false if it is upper triangular.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Scalar factor to be applied to the result.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#linalg_trsm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="linalg_trsm(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],transpose:Option[Boolean],rightside:Option[Boolean],lower:Option[Boolean],alpha:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="linalg_trsm(Option[Symbol],Option[Symbol],Option[Boolean],Option[Boolean],Option[Boolean],Option[Double],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">linalg_trsm</span><span class="params">(<span name="A">A: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="B">B: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="transpose">transpose: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="rightside">rightside: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="lower">lower: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@linalg_trsm(A:Option[org.apache.mxnet.Symbol],B:Option[org.apache.mxnet.Symbol],transpose:Option[Boolean],rightside:Option[Boolean],lower:Option[Boolean],alpha:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Solves matrix equation involving a lower triangular matrix.
Input are tensors *A*, *B*, each of dimension *n &gt;= <span class="num">2</span>* and having the same shape
on the leading *n-<span class="num">2</span>* dimensions.

If *n=<span class="num">2</span>*, *A* must be triangular. The operator performs the BLAS3 function
*trsm*, solving <span class="kw">for</span> *out* in:

   *op*\ (*A*) \* *out* = *alpha* \* *B*

<span class="kw">if</span> *rightside=False*, or

   *out* \* *op*\ (*A*) = *alpha* \* *B*

<span class="kw">if</span> *rightside=True*. Here, *alpha* is a scalar parameter, and *op()* is either the
identity or the matrix transposition (depending on *transpose*).

If *n&gt;<span class="num">2</span>*, *trsm* is performed separately on the trailing two dimensions <span class="kw">for</span> all inputs
(batch mode).

.. note:: The operator supports float32 and float64 data types only.

Examples::

   Single matrix solve
   A = `[ [<span class="num">1.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ]
   B = `[ [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>], [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>] ]
   trsm(A, B, alpha=<span class="num">0.5</span>) = `[ [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>] ]

   Batch matrix solve
   A = `[ `[ [<span class="num">1.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ], `[ [<span class="num">1.0</span>, <span class="num">0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>] ] ]
   B = `[ `[ [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>], [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>] ],
        `[ [<span class="num">4.0</span>, <span class="num">4.0</span>, <span class="num">4.0</span>], [<span class="num">8.0</span>, <span class="num">8.0</span>, <span class="num">8.0</span>] ] ]
   trsm(A, B, alpha=<span class="num">0.5</span>) = `[ `[ [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>], [<span class="num">1.0</span>, <span class="num">1.0</span>, <span class="num">1.0</span>] ],
                            `[ [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>], [<span class="num">2.0</span>, <span class="num">2.0</span>, <span class="num">2.0</span>] ] ]


Defined in src/operator/tensor/la_op.cc:L396</pre></div><dl class="paramcmts block"><dt class="param">A</dt><dd class="cmt"><p>Tensor of lower triangular matrices</p></dd><dt class="param">B</dt><dd class="cmt"><p>Tensor of matrices</p></dd><dt class="param">transpose</dt><dd class="cmt"><p>Use transposed of the triangular matrix</p></dd><dt class="param">rightside</dt><dd class="cmt"><p>Multiply triangular matrix from the right to non-triangular one.</p></dd><dt class="param">lower</dt><dd class="cmt"><p>True if the triangular matrix is lower triangular, false if it is upper triangular.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Scalar factor to be applied to the result.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#log" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="log(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="log(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">log</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@log(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise Natural logarithmic value of the input.

The natural logarithm is logarithm in base *e*, so that ``log(exp(x)) = x``

The storage <span class="kw">type</span> of ``log`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_logexp.cc:L76</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#log10" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="log10(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="log10(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">log10</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@log10(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise Base-<span class="num">10</span> logarithmic value of the input.

``<span class="num">10</span>**log10(x) = x``

The storage <span class="kw">type</span> of ``log10`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_logexp.cc:L93</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#log1p" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="log1p(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="log1p(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">log1p</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@log1p(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise ``log(<span class="num">1</span> + x)`` value of the input.

This function is more accurate than ``log(<span class="num">1</span> + x)``  <span class="kw">for</span> small ``x`` so that
:math:`<span class="num">1</span>+x\approx <span class="num">1</span>`

The storage <span class="kw">type</span> of ``log1p`` output depends upon the input storage <span class="kw">type</span>:

   - log1p(default) = default
   - log1p(row_sparse) = row_sparse
   - log1p(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_logexp.cc:L206</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#log2" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="log2(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="log2(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">log2</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@log2(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise Base-<span class="num">2</span> logarithmic value of the input.

``<span class="num">2</span>**log2(x) = x``

The storage <span class="kw">type</span> of ``log2`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_logexp.cc:L105</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#log_softmax" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="log_softmax(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],temperature:Option[Double],dtype:Option[String],use_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="log_softmax(Option[Symbol],Option[Int],Option[Double],Option[String],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">log_softmax</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="temperature">temperature: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="use_length">use_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@log_softmax(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],temperature:Option[Double],dtype:Option[String],use_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the log softmax of the input.
This is equivalent to computing softmax followed by log.

Examples::

  &gt;&gt;&gt; x = mx.nd.array([<span class="num">1</span>, <span class="num">2</span>, <span class="num">.1</span>])
  &gt;&gt;&gt; mx.nd.log_softmax(x).asnumpy()
  array([-<span class="num">1.41702998</span>, -<span class="num">0.41702995</span>, -<span class="num">2.31702995</span>], dtype=float32)

  &gt;&gt;&gt; x = mx.nd.array( `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">.1</span>],[<span class="num">.1</span>, <span class="num">2</span>, <span class="num">1</span>] ] )
  &gt;&gt;&gt; mx.nd.log_softmax(x, axis=<span class="num">0</span>).asnumpy()
  array(`[ [-<span class="num">0.34115392</span>, -<span class="num">0.69314718</span>, -<span class="num">1.24115396</span>],
         [-<span class="num">1.24115396</span>, -<span class="num">0.69314718</span>, -<span class="num">0.34115392</span>] ], dtype=float32)</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis along which to compute softmax.</p></dd><dt class="param">temperature</dt><dd class="cmt"><p>Temperature parameter in softmax</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to the same as input's dtype if not defined (dtype=None).</p></dd><dt class="param">use_length</dt><dd class="cmt"><p>Whether to use the length input as a mask over the data input.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#logical_not" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="logical_not(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="logical_not(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">logical_not</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@logical_not(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the result of logical NOT (!) function

Example:
  logical_not([-<span class="num">2.</span>, <span class="num">0.</span>, <span class="num">1.</span>]) = [<span class="num">0.</span>, <span class="num">1.</span>, <span class="num">0.</span>]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#make_loss" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="make_loss(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="make_loss(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">make_loss</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@make_loss(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Make your own loss function in network construction.

This operator accepts a customized loss function symbol as a terminal loss and
the symbol should be an operator <span class="kw">with</span> no backward dependency.
The output of <span class="kw">this</span> function is the gradient of loss <span class="kw">with</span> respect to the input data.

For example, <span class="kw">if</span> you are a making a cross entropy loss function. Assume ``out`` is the
predicted output and ``label`` is the <span class="kw">true</span> label, then the cross entropy can be defined as::

  cross_entropy = label * log(out) + (<span class="num">1</span> - label) * log(<span class="num">1</span> - out)
  loss = make_loss(cross_entropy)

We will need to use ``make_loss`` when we are creating our own loss function or we want to
combine multiple loss functions. Also we may want to stop some variables' gradients
from backpropagation. See more detail in ``BlockGrad`` or ``stop_gradient``.

The storage <span class="kw">type</span> of ``make_loss`` output depends upon the input storage <span class="kw">type</span>:

   - make_loss(default) = default
   - make_loss(row_sparse) = row_sparse



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L360</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#max" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="max(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="max(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">max</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@max(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the max of array elements over given axes.

Defined in src/operator/tensor/./broadcast_reduce_op.h:L32</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#max_axis" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="max_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="max_axis(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">max_axis</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@max_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the max of array elements over given axes.

Defined in src/operator/tensor/./broadcast_reduce_op.h:L32</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#mean" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="mean(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="mean(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">mean</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@mean(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the mean of array elements over given axes.

Defined in src/operator/tensor/./broadcast_reduce_op.h:L84</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#min" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="min(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="min(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">min</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@min(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the min of array elements over given axes.

Defined in src/operator/tensor/./broadcast_reduce_op.h:L47</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#min_axis" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="min_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="min_axis(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">min_axis</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@min_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the min of array elements over given axes.

Defined in src/operator/tensor/./broadcast_reduce_op.h:L47</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#moments" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="moments(data:Option[org.apache.mxnet.Symbol],axes:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="moments(Option[Symbol],Option[Shape],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">moments</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axes">axes: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@moments(data:Option[org.apache.mxnet.Symbol],axes:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Calculate the mean and variance of `data`.

The mean and variance are calculated by aggregating the contents of data across axes.
If x is <span class="num">1</span>-D and axes = [<span class="num">0</span>] <span class="kw">this</span> is just the mean and variance of a vector.

Example:

     x = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>], [<span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>] ]
     mean, <span class="kw">var</span> = moments(data=x, axes=[<span class="num">0</span>])
     mean = [<span class="num">2.5</span>, <span class="num">3.5</span>, <span class="num">4.5</span>]
     <span class="kw">var</span> = [<span class="num">2.25</span>, <span class="num">2.25</span>, <span class="num">2.25</span>]
     mean, <span class="kw">var</span> = moments(data=x, axes=[<span class="num">1</span>])
     mean = [<span class="num">2.0</span>, <span class="num">5.0</span>]
     <span class="kw">var</span> = [<span class="num">0.66666667</span>, <span class="num">0.66666667</span>]
     mean, <span class="kw">var</span> = moments(data=x, axis=[<span class="num">0</span>, <span class="num">1</span>])
     mean = [<span class="num">3.5</span>]
     <span class="kw">var</span> = [<span class="num">2.9166667</span>]



Defined in src/operator/nn/moments.cc:L54</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">axes</dt><dd class="cmt"><p>Array of ints. Axes along which to compute mean and variance.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>produce moments with the same dimensionality as the input.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#mp_lamb_update_phase1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="mp_lamb_update_phase1(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mean:Option[org.apache.mxnet.Symbol],vari:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],beta1:Option[Float],beta2:Option[Float],epsilon:Option[Float],t:Int,bias_correction:Option[Boolean],wd:Float,rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="mp_lamb_update_phase1(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Float],Option[Float],Option[Float],Int,Option[Boolean],Float,Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">mp_lamb_update_phase1</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mean">mean: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="vari">vari: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight32">weight32: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="beta1">beta1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta2">beta2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="epsilon">epsilon: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="t">t: <span class="extype" name="scala.Int">Int</span></span>, <span name="bias_correction">bias_correction: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Float">Float</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@mp_lamb_update_phase1(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mean:Option[org.apache.mxnet.Symbol],vari:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],beta1:Option[Float],beta2:Option[Float],epsilon:Option[Float],t:Int,bias_correction:Option[Boolean],wd:Float,rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Mixed Precision version of Phase I of lamb update
it performs the following operations and returns g:.

          Link to paper: https:<span class="cmt">//arxiv.org/pdf/1904.00962.pdf</span>

          .. math::
              \begin{gather*}
              grad32 = grad(float16) * rescale_grad
              <span class="kw">if</span> (grad &lt; -clip_gradient)
              then
                   grad = -clip_gradient
              <span class="kw">if</span> (grad &gt; clip_gradient)
              then
                   grad = clip_gradient

              mean = beta1 * mean + (<span class="num">1</span> - beta1) * grad;
              variance = beta2 * variance + (<span class="num">1.</span> - beta2) * grad ^ <span class="num">2</span>;

              <span class="kw">if</span> (bias_correction)
              then
                   mean_hat = mean / (<span class="num">1.</span> - beta1^t);
                   var_hat = <span class="kw">var</span> / (<span class="num">1</span> - beta2^t);
                   g = mean_hat / (var_hat^(<span class="num">1</span>/<span class="num">2</span>) + epsilon) + wd * weight32;
              <span class="kw">else</span>
                   g = mean / (var_data^(<span class="num">1</span>/<span class="num">2</span>) + epsilon) + wd * weight32;
              \end{gather*}



Defined in src/operator/optimizer_op.cc:L1033</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mean</dt><dd class="cmt"><p>Moving mean</p></dd><dt class="param">vari</dt><dd class="cmt"><p>Moving variance</p></dd><dt class="param">weight32</dt><dd class="cmt"><p>Weight32</p></dd><dt class="param">beta1</dt><dd class="cmt"><p>The decay rate for the 1st moment estimates.</p></dd><dt class="param">beta2</dt><dd class="cmt"><p>The decay rate for the 2nd moment estimates.</p></dd><dt class="param">epsilon</dt><dd class="cmt"><p>A small constant for numerical stability.</p></dd><dt class="param">t</dt><dd class="cmt"><p>Index update count.</p></dd><dt class="param">bias_correction</dt><dd class="cmt"><p>Whether to use bias correction.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#mp_lamb_update_phase2" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="mp_lamb_update_phase2(weight:Option[org.apache.mxnet.Symbol],g:Option[org.apache.mxnet.Symbol],r1:Option[org.apache.mxnet.Symbol],r2:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,lower_bound:Option[Float],upper_bound:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="mp_lamb_update_phase2(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">mp_lamb_update_phase2</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="g">g: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="r1">r1: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="r2">r2: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight32">weight32: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="lower_bound">lower_bound: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="upper_bound">upper_bound: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@mp_lamb_update_phase2(weight:Option[org.apache.mxnet.Symbol],g:Option[org.apache.mxnet.Symbol],r1:Option[org.apache.mxnet.Symbol],r2:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,lower_bound:Option[Float],upper_bound:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Mixed Precision version Phase II of lamb update
it performs the following operations and updates grad.

          Link to paper: https:<span class="cmt">//arxiv.org/pdf/1904.00962.pdf</span>

          .. math::
              \begin{gather*}
              <span class="kw">if</span> (lower_bound &gt;= <span class="num">0</span>)
              then
                   r1 = max(r1, lower_bound)
              <span class="kw">if</span> (upper_bound &gt;= <span class="num">0</span>)
              then
                   r1 = max(r1, upper_bound)

              <span class="kw">if</span> (r1 == <span class="num">0</span> or r2 == <span class="num">0</span>)
              then
                   lr = lr
              <span class="kw">else</span>
                   lr = lr * (r1/r2)
              weight32 = weight32 - lr * g
              weight(float16) = weight32
              \end{gather*}



Defined in src/operator/optimizer_op.cc:L1075</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">g</dt><dd class="cmt"><p>Output of mp_lamb_update_phase 1</p></dd><dt class="param">r1</dt><dd class="cmt"><p>r1</p></dd><dt class="param">r2</dt><dd class="cmt"><p>r2</p></dd><dt class="param">weight32</dt><dd class="cmt"><p>Weight32</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">lower_bound</dt><dd class="cmt"><p>Lower limit of norm of weight. If lower_bound &lt;= 0, Lower limit is not set</p></dd><dt class="param">upper_bound</dt><dd class="cmt"><p>Upper limit of norm of weight. If upper_bound &lt;= 0, Upper limit is not set</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#mp_nag_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="mp_nag_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="mp_nag_mom_update(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">mp_nag_mom_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mom">mom: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight32">weight32: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@mp_nag_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> multi-precision Nesterov Accelerated Gradient( NAG) optimizer.


Defined in src/operator/optimizer_op.cc:L745</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mom</dt><dd class="cmt"><p>Momentum</p></dd><dt class="param">weight32</dt><dd class="cmt"><p>Weight32</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#mp_sgd_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="mp_sgd_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="mp_sgd_mom_update(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">mp_sgd_mom_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mom">mom: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight32">weight32: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="lazy_update">lazy_update: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@mp_sgd_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Updater function <span class="kw">for</span> multi-precision sgd optimizer</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mom</dt><dd class="cmt"><p>Momentum</p></dd><dt class="param">weight32</dt><dd class="cmt"><p>Weight32</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">lazy_update</dt><dd class="cmt"><p>If true, lazy updates are applied if gradient's stype is row_sparse and both weight and momentum have the same stype</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#mp_sgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="mp_sgd_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="mp_sgd_update(Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">mp_sgd_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weight32">weight32: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="lazy_update">lazy_update: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@mp_sgd_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],weight32:Option[org.apache.mxnet.Symbol],lr:Float,wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Updater function <span class="kw">for</span> multi-precision sgd optimizer</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>gradient</p></dd><dt class="param">weight32</dt><dd class="cmt"><p>Weight32</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">lazy_update</dt><dd class="cmt"><p>If true, lazy updates are applied if gradient's stype is row_sparse.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_all_finite" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_all_finite(data:Array[org.apache.mxnet.Symbol],num_arrays:Option[Int],init_output:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_all_finite(Array[Symbol],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_all_finite</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_arrays">num_arrays: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="init_output">init_output: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_all_finite(data:Array[org.apache.mxnet.Symbol],num_arrays:Option[Int],init_output:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Check <span class="kw">if</span> all the float numbers in all the arrays are finite (used <span class="kw">for</span> AMP)


Defined in src/operator/contrib/all_finite.cc:L133</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Arrays</p></dd><dt class="param">num_arrays</dt><dd class="cmt"><p>Number of arrays.</p></dd><dt class="param">init_output</dt><dd class="cmt"><p>Initialize output to 1.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_lars" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_lars(lrs:Option[org.apache.mxnet.Symbol],weights_sum_sq:Option[org.apache.mxnet.Symbol],grads_sum_sq:Option[org.apache.mxnet.Symbol],wds:Option[org.apache.mxnet.Symbol],eta:Float,eps:Float,rescale_grad:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_lars(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Float,Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_lars</span><span class="params">(<span name="lrs">lrs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="weights_sum_sq">weights_sum_sq: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grads_sum_sq">grads_sum_sq: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="wds">wds: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="eta">eta: <span class="extype" name="scala.Float">Float</span></span>, <span name="eps">eps: <span class="extype" name="scala.Float">Float</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_lars(lrs:Option[org.apache.mxnet.Symbol],weights_sum_sq:Option[org.apache.mxnet.Symbol],grads_sum_sq:Option[org.apache.mxnet.Symbol],wds:Option[org.apache.mxnet.Symbol],eta:Float,eps:Float,rescale_grad:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Compute the LARS coefficients of multiple weights and grads from their sums of square<span class="lit">"


Defined in src/operator/contrib/multi_lars.cc:L37</span></pre></div><dl class="paramcmts block"><dt class="param">lrs</dt><dd class="cmt"><p>Learning rates to scale by LARS coefficient</p></dd><dt class="param">weights_sum_sq</dt><dd class="cmt"><p>sum of square of weights arrays</p></dd><dt class="param">grads_sum_sq</dt><dd class="cmt"><p>sum of square of gradients arrays</p></dd><dt class="param">wds</dt><dd class="cmt"><p>weight decays</p></dd><dt class="param">eta</dt><dd class="cmt"><p>LARS eta</p></dd><dt class="param">eps</dt><dd class="cmt"><p>LARS eps</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Gradient rescaling factor</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_mp_sgd_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_mp_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_mp_sgd_mom_update(Array[Symbol],Any,Any,Option[Float],Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_mp_sgd_mom_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="lrs">lrs: <span class="extype" name="scala.Any">Any</span></span>, <span name="wds">wds: <span class="extype" name="scala.Any">Any</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_mp_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Momentum update function <span class="kw">for</span> multi-precision Stochastic Gradient Descent (SGD) optimizer.

Momentum update has better convergence rates on neural networks. Mathematically it looks
like below:

.. math::

  v_1 = \alpha * \nabla J(W_0)\\
  v_t = \gamma v_{t-<span class="num">1</span>} - \alpha * \nabla J(W_{t-<span class="num">1</span>})\\
  W_t = W_{t-<span class="num">1</span>} + v_t

It updates the weights using::

  v = momentum * v - learning_rate * gradient
  weight += v

Where the parameter ``momentum`` is the decay rate of momentum estimates at each epoch.



Defined in src/operator/optimizer_op.cc:L472</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights</p></dd><dt class="param">lrs</dt><dd class="cmt"><p>Learning rates.</p></dd><dt class="param">wds</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_mp_sgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_mp_sgd_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_mp_sgd_update(Array[Symbol],Any,Any,Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_mp_sgd_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="lrs">lrs: <span class="extype" name="scala.Any">Any</span></span>, <span name="wds">wds: <span class="extype" name="scala.Any">Any</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_mp_sgd_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> multi-precision Stochastic Gradient Descent (SDG) optimizer.

It updates the weights using::

 weight = weight - learning_rate * (gradient + wd * weight)



Defined in src/operator/optimizer_op.cc:L417</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights</p></dd><dt class="param">lrs</dt><dd class="cmt"><p>Learning rates.</p></dd><dt class="param">wds</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_sgd_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_sgd_mom_update(Array[Symbol],Any,Any,Option[Float],Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_sgd_mom_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="lrs">lrs: <span class="extype" name="scala.Any">Any</span></span>, <span name="wds">wds: <span class="extype" name="scala.Any">Any</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Momentum update function <span class="kw">for</span> Stochastic Gradient Descent (SGD) optimizer.

Momentum update has better convergence rates on neural networks. Mathematically it looks
like below:

.. math::

  v_1 = \alpha * \nabla J(W_0)\\
  v_t = \gamma v_{t-<span class="num">1</span>} - \alpha * \nabla J(W_{t-<span class="num">1</span>})\\
  W_t = W_{t-<span class="num">1</span>} + v_t

It updates the weights using::

  v = momentum * v - learning_rate * gradient
  weight += v

Where the parameter ``momentum`` is the decay rate of momentum estimates at each epoch.



Defined in src/operator/optimizer_op.cc:L374</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights, gradients and momentum</p></dd><dt class="param">lrs</dt><dd class="cmt"><p>Learning rates.</p></dd><dt class="param">wds</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_sgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_sgd_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_sgd_update(Array[Symbol],Any,Any,Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_sgd_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="lrs">lrs: <span class="extype" name="scala.Any">Any</span></span>, <span name="wds">wds: <span class="extype" name="scala.Any">Any</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_sgd_update(data:Array[org.apache.mxnet.Symbol],lrs:Any,wds:Any,rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> Stochastic Gradient Descent (SDG) optimizer.

It updates the weights using::

 weight = weight - learning_rate * (gradient + wd * weight)



Defined in src/operator/optimizer_op.cc:L329</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights</p></dd><dt class="param">lrs</dt><dd class="cmt"><p>Learning rates.</p></dd><dt class="param">wds</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#multi_sum_sq" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multi_sum_sq(data:Array[org.apache.mxnet.Symbol],num_arrays:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="multi_sum_sq(Array[Symbol],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multi_sum_sq</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_arrays">num_arrays: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@multi_sum_sq(data:Array[org.apache.mxnet.Symbol],num_arrays:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Compute the sums of squares of multiple arrays


Defined in src/operator/contrib/multi_sum_sq.cc:L36</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Arrays</p></dd><dt class="param">num_arrays</dt><dd class="cmt"><p>number of input arrays.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#nag_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="nag_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="nag_mom_update(Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">nag_mom_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mom">mom: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@nag_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> Nesterov Accelerated Gradient( NAG) optimizer.
It updates the weights using the following formula,

.. math::
  v_t = \gamma v_{t-<span class="num">1</span>} + \eta * \nabla J(W_{t-<span class="num">1</span>} - \gamma v_{t-<span class="num">1</span>})\\
  W_t = W_{t-<span class="num">1</span>} - v_t

Where
:math:`\eta` is the learning rate of the optimizer
:math:`\gamma` is the decay rate of the momentum estimate
:math:`\v_t` is the update vector at time step `t`
:math:`\W_t` is the weight vector at time step `t`



Defined in src/operator/optimizer_op.cc:L726</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mom</dt><dd class="cmt"><p>Momentum</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#nanprod" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="nanprod(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="nanprod(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">nanprod</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@nanprod(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the product of array elements over given axes treating Not a Numbers (``NaN``) as one.



Defined in src/operator/tensor/broadcast_reduce_prod_value.cc:L47</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#nansum" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="nansum(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="nansum(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">nansum</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@nansum(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the sum of array elements over given axes treating Not a Numbers (``NaN``) as zero.



Defined in src/operator/tensor/broadcast_reduce_sum_value.cc:L102</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#negative" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="negative(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="negative(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">negative</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@negative(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Numerical negative of the argument, element-wise.

The storage <span class="kw">type</span> of ``negative`` output depends upon the input storage <span class="kw">type</span>:

   - negative(default) = default
   - negative(row_sparse) = row_sparse
   - negative(csr) = csr</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#norm" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="norm(data:Option[org.apache.mxnet.Symbol],ord:Option[Int],axis:Option[org.apache.mxnet.Shape],out_dtype:Option[String],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="norm(Option[Symbol],Option[Int],Option[Shape],Option[String],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">norm</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="ord">ord: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="out_dtype">out_dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@norm(data:Option[org.apache.mxnet.Symbol],ord:Option[Int],axis:Option[org.apache.mxnet.Shape],out_dtype:Option[String],keepdims:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the norm on an NDArray.

This operator computes the norm on an NDArray <span class="kw">with</span> the specified axis, depending
on the value of the ord parameter. By default, it computes the L2 norm on the entire
array. Currently only ord=<span class="num">2</span> supports sparse ndarrays.

Examples::

  x = `[ `[ [<span class="num">1</span>, <span class="num">2</span>],
        [<span class="num">3</span>, <span class="num">4</span>] ],
       `[ [<span class="num">2</span>, <span class="num">2</span>],
        [<span class="num">5</span>, <span class="num">6</span>] ] ]

  norm(x, ord=<span class="num">2</span>, axis=<span class="num">1</span>) = `[ [<span class="num">3.1622777</span> <span class="num">4.472136</span> ]
                            [<span class="num">5.3851647</span> <span class="num">6.3245554</span>] ]

  norm(x, ord=<span class="num">1</span>, axis=<span class="num">1</span>) = `[ [<span class="num">4.</span>, <span class="num">6.</span>],
                            [<span class="num">7.</span>, <span class="num">8.</span>] ]

  rsp = x.cast_storage('row_sparse')

  norm(rsp) = [<span class="num">5.47722578</span>]

  csr = x.cast_storage(<span class="lit">'csr'</span>)

  norm(csr) = [<span class="num">5.47722578</span>]



Defined in src/operator/tensor/broadcast_reduce_norm_value.cc:L89</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">ord</dt><dd class="cmt"><p>Order of the norm. Currently ord=1 and ord=2 is supported.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.
      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.
      If <code>axis</code> is int, a reduction is performed on a particular axis.
      If <code>axis</code> is a 2-tuple, it specifies the axes that hold 2-D matrices,
      and the matrix norms of these matrices are computed.</p></dd><dt class="param">out_dtype</dt><dd class="cmt"><p>The data type of the output.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axis is left in the result as dimension with size one.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#normal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="normal(loc:Option[Float],scale:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="normal(Option[Float],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">normal</span><span class="params">(<span name="loc">loc: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="scale">scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@normal(loc:Option[Float],scale:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a normal (Gaussian) distribution.

.. note:: The existing alias ``normal`` is deprecated.

Samples are distributed according to a normal distribution parametrized by *loc* (mean) and *scale*
(standard deviation).

Example::

   normal(loc=<span class="num">0</span>, scale=<span class="num">1</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">1.89171135</span>, -<span class="num">1.16881478</span>],
                                          [-<span class="num">1.23474145</span>,  <span class="num">1.55807114</span>] ]


Defined in src/operator/random/sample_op.cc:L113</pre></div><dl class="paramcmts block"><dt class="param">loc</dt><dd class="cmt"><p>Mean of the distribution.</p></dd><dt class="param">scale</dt><dd class="cmt"><p>Standard deviation of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#one_hot" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="one_hot(indices:Option[org.apache.mxnet.Symbol],depth:Int,on_value:Option[Double],off_value:Option[Double],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="one_hot(Option[Symbol],Int,Option[Double],Option[Double],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">one_hot</span><span class="params">(<span name="indices">indices: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="depth">depth: <span class="extype" name="scala.Int">Int</span></span>, <span name="on_value">on_value: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="off_value">off_value: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@one_hot(indices:Option[org.apache.mxnet.Symbol],depth:Int,on_value:Option[Double],off_value:Option[Double],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns a one-hot array.

The locations represented by `indices` take value `on_value`, <span class="kw">while</span> all
other locations take value `off_value`.

`one_hot` operation <span class="kw">with</span> `indices` of shape ``(i0, i1)`` and `depth`  of ``d`` would result
in an output array of shape ``(i0, i1, d)`` <span class="kw">with</span>::

  output[i,j,:] = off_value
  output[i,j,indices[i,j] ] = on_value

Examples::

  one_hot([<span class="num">1</span>,<span class="num">0</span>,<span class="num">2</span>,<span class="num">0</span>], <span class="num">3</span>) = `[ [ <span class="num">0.</span>  <span class="num">1.</span>  <span class="num">0.</span>]
                           [ <span class="num">1.</span>  <span class="num">0.</span>  <span class="num">0.</span>]
                           [ <span class="num">0.</span>  <span class="num">0.</span>  <span class="num">1.</span>]
                           [ <span class="num">1.</span>  <span class="num">0.</span>  <span class="num">0.</span>] ]

  one_hot([<span class="num">1</span>,<span class="num">0</span>,<span class="num">2</span>,<span class="num">0</span>], <span class="num">3</span>, on_value=<span class="num">8</span>, off_value=<span class="num">1</span>,
          dtype=<span class="lit">'int32'</span>) = `[ [<span class="num">1</span> <span class="num">8</span> <span class="num">1</span>]
                            [<span class="num">8</span> <span class="num">1</span> <span class="num">1</span>]
                            [<span class="num">1</span> <span class="num">1</span> <span class="num">8</span>]
                            [<span class="num">8</span> <span class="num">1</span> <span class="num">1</span>] ]

  one_hot(`[ [<span class="num">1</span>,<span class="num">0</span>],[<span class="num">1</span>,<span class="num">0</span>],[<span class="num">2</span>,<span class="num">0</span>] ], <span class="num">3</span>) = `[ `[ [ <span class="num">0.</span>  <span class="num">1.</span>  <span class="num">0.</span>]
                                      [ <span class="num">1.</span>  <span class="num">0.</span>  <span class="num">0.</span>] ]

                                     `[ [ <span class="num">0.</span>  <span class="num">1.</span>  <span class="num">0.</span>]
                                      [ <span class="num">1.</span>  <span class="num">0.</span>  <span class="num">0.</span>] ]

                                     `[ [ <span class="num">0.</span>  <span class="num">0.</span>  <span class="num">1.</span>]
                                      [ <span class="num">1.</span>  <span class="num">0.</span>  <span class="num">0.</span>] ] ]


Defined in src/operator/tensor/indexing_op.cc:L824</pre></div><dl class="paramcmts block"><dt class="param">indices</dt><dd class="cmt"><p>array of locations where to set on_value</p></dd><dt class="param">depth</dt><dd class="cmt"><p>Depth of the one hot dimension.</p></dd><dt class="param">on_value</dt><dd class="cmt"><p>The value assigned to the locations represented by indices.</p></dd><dt class="param">off_value</dt><dd class="cmt"><p>The value assigned to the locations not represented by indices.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ones_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ones_like(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ones_like(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ones_like</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ones_like(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Return an array of ones <span class="kw">with</span> the same shape and <span class="kw">type</span>
as the input array.

Examples::

  x = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
       [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]

  ones_like(x) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
                  [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#pad" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pad(data:Option[org.apache.mxnet.Symbol],mode:String,pad_width:org.apache.mxnet.Shape,constant_value:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="pad(Option[Symbol],String,Shape,Option[Double],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pad</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="pad_width">pad_width: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="constant_value">constant_value: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@pad(data:Option[org.apache.mxnet.Symbol],mode:String,pad_width:org.apache.mxnet.Shape,constant_value:Option[Double],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Pads an input array <span class="kw">with</span> a constant or edge values of the array.

.. note:: `Pad` is deprecated. Use `pad` instead.

.. note:: Current implementation only supports <span class="num">4</span>D and <span class="num">5</span>D input arrays <span class="kw">with</span> padding applied
   only on axes <span class="num">1</span>, <span class="num">2</span> and <span class="num">3.</span> Expects axes <span class="num">4</span> and <span class="num">5</span> in `pad_width` to be zero.

This operation pads an input array <span class="kw">with</span> either a `constant_value` or edge values
along each axis of the input array. The amount of padding is specified by `pad_width`.

`pad_width` is a tuple of integer padding widths <span class="kw">for</span> each axis of the format
``(before_1, after_1, ... , before_N, after_N)``. The `pad_width` should be of length ``<span class="num">2</span>*N``
where ``N`` is the number of dimensions of the array.

For dimension ``N`` of the input array, ``before_N`` and ``after_N`` indicates how many values
to add before and after the elements of the array along dimension ``N``.
The widths of the higher two dimensions ``before_1``, ``after_1``, ``before_2``,
``after_2`` must be <span class="num">0.</span>

Example::

   x = `[ [`[ [  <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>]
          [  <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>] ]

         `[ [  <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>]
          [ <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>] ] ]


        `[ `[ [ <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>]
          [ <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>] ]

         `[ [ <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>]
          [ <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>] ] ] ]

   pad(x,mode=<span class="lit">"edge"</span>, pad_width=(<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>)) =

         `[ [`[ [  <span class="num">1.</span>   <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>   <span class="num">3.</span>]
            [  <span class="num">1.</span>   <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>   <span class="num">3.</span>]
            [  <span class="num">4.</span>   <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>   <span class="num">6.</span>]
            [  <span class="num">4.</span>   <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>   <span class="num">6.</span>] ]

           `[ [  <span class="num">7.</span>   <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>   <span class="num">9.</span>]
            [  <span class="num">7.</span>   <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>   <span class="num">9.</span>]
            [ <span class="num">10.</span>  <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">12.</span>]
            [ <span class="num">10.</span>  <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">12.</span>] ] ]


          `[ `[ [ <span class="num">11.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>  <span class="num">13.</span>]
            [ <span class="num">11.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>  <span class="num">13.</span>]
            [ <span class="num">14.</span>  <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>  <span class="num">16.</span>]
            [ <span class="num">14.</span>  <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>  <span class="num">16.</span>] ]

           `[ [ <span class="num">17.</span>  <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>  <span class="num">19.</span>]
            [ <span class="num">17.</span>  <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>  <span class="num">19.</span>]
            [ <span class="num">20.</span>  <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>  <span class="num">22.</span>]
            [ <span class="num">20.</span>  <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>  <span class="num">22.</span>] ] ] ]

   pad(x, mode=<span class="lit">"constant"</span>, constant_value=<span class="num">0</span>, pad_width=(<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">0</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>)) =

         `[ [`[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">1.</span>   <span class="num">2.</span>   <span class="num">3.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">4.</span>   <span class="num">5.</span>   <span class="num">6.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ]

           `[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">7.</span>   <span class="num">8.</span>   <span class="num">9.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">10.</span>  <span class="num">11.</span>  <span class="num">12.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ] ]


          `[ `[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">11.</span>  <span class="num">12.</span>  <span class="num">13.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">14.</span>  <span class="num">15.</span>  <span class="num">16.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ]

           `[ [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">17.</span>  <span class="num">18.</span>  <span class="num">19.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>  <span class="num">20.</span>  <span class="num">21.</span>  <span class="num">22.</span>   <span class="num">0.</span>]
            [  <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>   <span class="num">0.</span>] ] ] ]




Defined in src/operator/pad.cc:L766</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>An n-dimensional input array.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Padding type to use. &quot;constant&quot; pads with <code>constant_value</code> &quot;edge&quot; pads using the edge values of the input array &quot;reflect&quot; pads by reflecting values with respect to the edges.</p></dd><dt class="param">pad_width</dt><dd class="cmt"><p>Widths of the padding regions applied to the edges of each axis. It is a tuple of integer padding widths for each axis of the format <code><code>(before_1, after_1, ... , before_N, after_N)</code></code>. It should be of length <code><code>2*N</code></code> where <code><code>N</code></code> is the number of dimensions of the array.This is equivalent to pad_width in numpy.pad, but flattened.</p></dd><dt class="param">constant_value</dt><dd class="cmt"><p>The value used for padding when <code>mode</code> is &quot;constant&quot;.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#pick" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pick(data:Option[org.apache.mxnet.Symbol],index:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="pick(Option[Symbol],Option[Symbol],Option[Int],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pick</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="index">index: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@pick(data:Option[org.apache.mxnet.Symbol],index:Option[org.apache.mxnet.Symbol],axis:Option[Int],keepdims:Option[Boolean],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Picks elements from an input array according to the input indices along the given axis.

Given an input array of shape ``(d0, d1)`` and indices of shape ``(i0,)``, the result will be
an output array of shape ``(i0,)`` <span class="kw">with</span>::

  output[i] = input[i, indices[i] ]

By default, <span class="kw">if</span> any index mentioned is too large, it is replaced by the index that addresses
the last element along an axis (the `clip` mode).

This function supports n-dimensional input and (n-<span class="num">1</span>)-dimensional indices arrays.

Examples::

  x = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>],
       [ <span class="num">5.</span>,  <span class="num">6.</span>] ]

  <span class="cmt">// picks elements with specified indices along axis 0</span>
  pick(x, y=[<span class="num">0</span>,<span class="num">1</span>], <span class="num">0</span>) = [ <span class="num">1.</span>,  <span class="num">4.</span>]

  <span class="cmt">// picks elements with specified indices along axis 1</span>
  pick(x, y=[<span class="num">0</span>,<span class="num">1</span>,<span class="num">0</span>], <span class="num">1</span>) = [ <span class="num">1.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>]

  y = `[ [ <span class="num">1.</span>],
       [ <span class="num">0.</span>],
       [ <span class="num">2.</span>] ]

  <span class="cmt">// picks elements with specified indices along axis 1 using 'wrap' mode</span>
  <span class="cmt">// to place indicies that would normally be out of bounds</span>
  pick(x, y=[<span class="num">2</span>,-<span class="num">1</span>,-<span class="num">2</span>], <span class="num">1</span>, mode=<span class="lit">'wrap'</span>) = [ <span class="num">1.</span>,  <span class="num">4.</span>,  <span class="num">5.</span>]

  y = `[ [ <span class="num">1.</span>],
       [ <span class="num">0.</span>],
       [ <span class="num">2.</span>] ]

  <span class="cmt">// picks elements with specified indices along axis 1 and dims are maintained</span>
  pick(x,y, <span class="num">1</span>, keepdims=True) = `[ [ <span class="num">2.</span>],
                                 [ <span class="num">3.</span>],
                                 [ <span class="num">6.</span>] ]



Defined in src/operator/tensor/broadcast_reduce_op_index.cc:L155</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array</p></dd><dt class="param">index</dt><dd class="cmt"><p>The index array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>int or None. The axis to picking the elements. Negative values means indexing from right to left. If is <code>None</code>, the elements in the index w.r.t the flattened input will be picked.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If true, the axis where we pick the elements is left in the result as dimension with size one.</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Specify how out-of-bound indices behave. Default is &quot;clip&quot;. &quot;clip&quot; means clip to the range. So, if all indices mentioned are too large, they are replaced by the index that addresses the last element along an axis.  &quot;wrap&quot; means to wrap around.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#preloaded_multi_mp_sgd_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="preloaded_multi_mp_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="preloaded_multi_mp_sgd_mom_update(Array[Symbol],Option[Float],Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">preloaded_multi_mp_sgd_mom_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@preloaded_multi_mp_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Momentum update function <span class="kw">for</span> multi-precision Stochastic Gradient Descent (SGD) optimizer.

Momentum update has better convergence rates on neural networks. Mathematically it looks
like below:

.. math::

  v_1 = \alpha * \nabla J(W_0)\\
  v_t = \gamma v_{t-<span class="num">1</span>} - \alpha * \nabla J(W_{t-<span class="num">1</span>})\\
  W_t = W_{t-<span class="num">1</span>} + v_t

It updates the weights using::

  v = momentum * v - learning_rate * gradient
  weight += v

Where the parameter ``momentum`` is the decay rate of momentum estimates at each epoch.



Defined in src/operator/contrib/preloaded_multi_sgd.cc:L200</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights, gradients, momentums, learning rates and weight decays</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#preloaded_multi_mp_sgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="preloaded_multi_mp_sgd_update(data:Array[org.apache.mxnet.Symbol],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="preloaded_multi_mp_sgd_update(Array[Symbol],Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">preloaded_multi_mp_sgd_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@preloaded_multi_mp_sgd_update(data:Array[org.apache.mxnet.Symbol],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> multi-precision Stochastic Gradient Descent (SDG) optimizer.

It updates the weights using::

 weight = weight - learning_rate * (gradient + wd * weight)



Defined in src/operator/contrib/preloaded_multi_sgd.cc:L140</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights, gradients, learning rates and weight decays</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#preloaded_multi_sgd_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="preloaded_multi_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="preloaded_multi_sgd_mom_update(Array[Symbol],Option[Float],Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">preloaded_multi_sgd_mom_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@preloaded_multi_sgd_mom_update(data:Array[org.apache.mxnet.Symbol],momentum:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Momentum update function <span class="kw">for</span> Stochastic Gradient Descent (SGD) optimizer.

Momentum update has better convergence rates on neural networks. Mathematically it looks
like below:

.. math::

  v_1 = \alpha * \nabla J(W_0)\\
  v_t = \gamma v_{t-<span class="num">1</span>} - \alpha * \nabla J(W_{t-<span class="num">1</span>})\\
  W_t = W_{t-<span class="num">1</span>} + v_t

It updates the weights using::

  v = momentum * v - learning_rate * gradient
  weight += v

Where the parameter ``momentum`` is the decay rate of momentum estimates at each epoch.



Defined in src/operator/contrib/preloaded_multi_sgd.cc:L91</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights, gradients, momentum, learning rates and weight decays</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#preloaded_multi_sgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="preloaded_multi_sgd_update(data:Array[org.apache.mxnet.Symbol],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="preloaded_multi_sgd_update(Array[Symbol],Option[Float],Option[Float],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">preloaded_multi_sgd_update</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="num_weights">num_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@preloaded_multi_sgd_update(data:Array[org.apache.mxnet.Symbol],rescale_grad:Option[Float],clip_gradient:Option[Float],num_weights:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> Stochastic Gradient Descent (SDG) optimizer.

It updates the weights using::

 weight = weight - learning_rate * (gradient + wd * weight)



Defined in src/operator/contrib/preloaded_multi_sgd.cc:L42</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Weights, gradients, learning rates and weight decays</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">num_weights</dt><dd class="cmt"><p>Number of updated weights.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#prod" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="prod(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="prod(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">prod</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@prod(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the product of array elements over given axes.

Defined in src/operator/tensor/./broadcast_reduce_op.h:L31</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#radians" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="radians(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="radians(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">radians</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@radians(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Converts each element of the input array from degrees to radians.

.. math::
   radians([<span class="num">0</span>, <span class="num">90</span>, <span class="num">180</span>, <span class="num">270</span>, <span class="num">360</span>]) = [<span class="num">0</span>, \pi/<span class="num">2</span>, \pi, <span class="num">3</span>\pi/<span class="num">2</span>, <span class="num">2</span>\pi]

The storage <span class="kw">type</span> of ``radians`` output depends upon the input storage <span class="kw">type</span>:

   - radians(default) = default
   - radians(row_sparse) = row_sparse
   - radians(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L293</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_exponential" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_exponential(lam:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_exponential(Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_exponential</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_exponential(lam:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from an exponential distribution.

Samples are distributed according to an exponential distribution parametrized by *lambda* (rate).

Example::

   exponential(lam=<span class="num">4</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.0097189</span> ,  <span class="num">0.08999364</span>],
                                      [ <span class="num">0.04146638</span>,  <span class="num">0.31715935</span>] ]


Defined in src/operator/random/sample_op.cc:L137</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda parameter (rate) of the exponential distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_gamma" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_gamma(alpha:Option[Float],beta:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_gamma(Option[Float],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_gamma</span><span class="params">(<span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_gamma(alpha:Option[Float],beta:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a gamma distribution.

Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale).

Example::

   gamma(alpha=<span class="num">9</span>, beta=<span class="num">0.5</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">7.10486984</span>,  <span class="num">3.37695289</span>],
                                            [ <span class="num">3.91697288</span>,  <span class="num">3.65933681</span>] ]


Defined in src/operator/random/sample_op.cc:L125</pre></div><dl class="paramcmts block"><dt class="param">alpha</dt><dd class="cmt"><p>Alpha parameter (shape) of the gamma distribution.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Beta parameter (scale) of the gamma distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_generalized_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_generalized_negative_binomial(mu:Option[Float],alpha:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_generalized_negative_binomial(Option[Float],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_generalized_negative_binomial</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_generalized_negative_binomial(mu:Option[Float],alpha:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a generalized negative binomial distribution.

Samples are distributed according to a generalized negative binomial distribution parametrized by
*mu* (mean) and *alpha* (dispersion). *alpha* is defined as *<span class="num">1</span>/k* where *k* is the failure limit of the
number of unsuccessful experiments (generalized to real numbers).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   generalized_negative_binomial(mu=<span class="num">2.0</span>, alpha=<span class="num">0.3</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">2.</span>,  <span class="num">1.</span>],
                                                                    [ <span class="num">6.</span>,  <span class="num">4.</span>] ]


Defined in src/operator/random/sample_op.cc:L179</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Mean of the negative binomial distribution.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (dispersion) parameter of the negative binomial distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_negative_binomial(k:Option[Int],p:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_negative_binomial(Option[Int],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_negative_binomial</span><span class="params">(<span name="k">k: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_negative_binomial(k:Option[Int],p:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a negative binomial distribution.

Samples are distributed according to a negative binomial distribution parametrized by
*k* (limit of unsuccessful experiments) and *p* (failure probability in each experiment).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   negative_binomial(k=<span class="num">3</span>, p=<span class="num">0.4</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">4.</span>,  <span class="num">7.</span>],
                                                 [ <span class="num">2.</span>,  <span class="num">5.</span>] ]


Defined in src/operator/random/sample_op.cc:L164</pre></div><dl class="paramcmts block"><dt class="param">k</dt><dd class="cmt"><p>Limit of unsuccessful experiments.</p></dd><dt class="param">p</dt><dd class="cmt"><p>Failure probability in each experiment.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_normal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_normal(loc:Option[Float],scale:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_normal(Option[Float],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_normal</span><span class="params">(<span name="loc">loc: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="scale">scale: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_normal(loc:Option[Float],scale:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a normal (Gaussian) distribution.

.. note:: The existing alias ``normal`` is deprecated.

Samples are distributed according to a normal distribution parametrized by *loc* (mean) and *scale*
(standard deviation).

Example::

   normal(loc=<span class="num">0</span>, scale=<span class="num">1</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">1.89171135</span>, -<span class="num">1.16881478</span>],
                                          [-<span class="num">1.23474145</span>,  <span class="num">1.55807114</span>] ]


Defined in src/operator/random/sample_op.cc:L113</pre></div><dl class="paramcmts block"><dt class="param">loc</dt><dd class="cmt"><p>Mean of the distribution.</p></dd><dt class="param">scale</dt><dd class="cmt"><p>Standard deviation of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_dirichlet" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_dirichlet(sample:Option[org.apache.mxnet.Symbol],alpha:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_dirichlet(Option[Symbol],Option[Symbol],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_dirichlet</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_dirichlet(sample:Option[org.apache.mxnet.Symbol],alpha:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
Dirichlet distributions <span class="kw">with</span> parameter *alpha*.

The shape of *alpha* must <span class="kw">match</span> the leftmost subshape of *sample*.  That is, *sample*
can have the same shape as *alpha*, in which <span class="kw">case</span> the output contains one density per
distribution, or *sample* can be a tensor of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span>
the output is a tensor of densities such that the densities at index *i* in the output
are given by the samples at index *i* in *sample* parameterized by the value of *alpha*
at index *i*.

Examples::

    random_pdf_dirichlet(sample=`[ [<span class="num">1</span>,<span class="num">2</span>],[<span class="num">2</span>,<span class="num">3</span>],[<span class="num">3</span>,<span class="num">4</span>] ], alpha=[<span class="num">2.5</span>, <span class="num">2.5</span>]) =
        [<span class="num">38.413498</span>, <span class="num">199.60245</span>, <span class="num">564.56085</span>]

    sample = `[ `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>], [<span class="num">10</span>, <span class="num">20</span>, <span class="num">30</span>], [<span class="num">100</span>, <span class="num">200</span>, <span class="num">300</span>] ],
              `[ [<span class="num">0.1</span>, <span class="num">0.2</span>, <span class="num">0.3</span>], [<span class="num">0.01</span>, <span class="num">0.02</span>, <span class="num">0.03</span>], [<span class="num">0.001</span>, <span class="num">0.002</span>, <span class="num">0.003</span>] ] ]

    random_pdf_dirichlet(sample=sample, alpha=[<span class="num">0.1</span>, <span class="num">0.4</span>, <span class="num">0.9</span>]) =
        `[ [<span class="num">2.3257459e-02</span>, <span class="num">5.8420084e-04</span>, <span class="num">1.4674458e-05</span>],
         [<span class="num">9.2589635e-01</span>, <span class="num">3.6860607e+01</span>, <span class="num">1.4674468e+03</span>] ]


Defined in src/operator/random/pdf_op.cc:L316</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Concentration parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_exponential" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_exponential(sample:Option[org.apache.mxnet.Symbol],lam:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_exponential(Option[Symbol],Option[Symbol],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_exponential</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_exponential(sample:Option[org.apache.mxnet.Symbol],lam:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
exponential distributions <span class="kw">with</span> parameters *lam* (rate).

The shape of *lam* must <span class="kw">match</span> the leftmost subshape of *sample*.  That is, *sample*
can have the same shape as *lam*, in which <span class="kw">case</span> the output contains one density per
distribution, or *sample* can be a tensor of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span>
the output is a tensor of densities such that the densities at index *i* in the output
are given by the samples at index *i* in *sample* parameterized by the value of *lam*
at index *i*.

Examples::

  random_pdf_exponential(sample=`[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ], lam=[<span class="num">1</span>]) =
      `[ [<span class="num">0.36787945</span>, <span class="num">0.13533528</span>, <span class="num">0.04978707</span>] ]

  sample = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
            [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
            [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ]

  random_pdf_exponential(sample=sample, lam=[<span class="num">1</span>,<span class="num">0.5</span>,<span class="num">0.25</span>]) =
      `[ [<span class="num">0.36787945</span>, <span class="num">0.13533528</span>, <span class="num">0.04978707</span>],
       [<span class="num">0.30326533</span>, <span class="num">0.18393973</span>, <span class="num">0.11156508</span>],
       [<span class="num">0.1947002</span>,  <span class="num">0.15163267</span>, <span class="num">0.11809164</span>] ]


Defined in src/operator/random/pdf_op.cc:L305</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">lam</dt><dd class="cmt"><p>Lambda (rate) parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_gamma" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_gamma(sample:Option[org.apache.mxnet.Symbol],alpha:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],beta:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_gamma(Option[Symbol],Option[Symbol],Option[Boolean],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_gamma</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_gamma(sample:Option[org.apache.mxnet.Symbol],alpha:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],beta:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
gamma distributions <span class="kw">with</span> parameters *alpha* (shape) and *beta* (rate).

*alpha* and *beta* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *alpha* and *beta*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *alpha* and *beta* at index *i*.

Examples::

  random_pdf_gamma(sample=`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>] ], alpha=[<span class="num">5</span>], beta=[<span class="num">1</span>]) =
      `[ [<span class="num">0.01532831</span>, <span class="num">0.09022352</span>, <span class="num">0.16803136</span>, <span class="num">0.19536681</span>, <span class="num">0.17546739</span>] ]

  sample = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>],
            [<span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>],
            [<span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>, <span class="num">7</span>] ]

  random_pdf_gamma(sample=sample, alpha=[<span class="num">5</span>,<span class="num">6</span>,<span class="num">7</span>], beta=[<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>]) =
      `[ [<span class="num">0.01532831</span>, <span class="num">0.09022352</span>, <span class="num">0.16803136</span>, <span class="num">0.19536681</span>, <span class="num">0.17546739</span>],
       [<span class="num">0.03608941</span>, <span class="num">0.10081882</span>, <span class="num">0.15629345</span>, <span class="num">0.17546739</span>, <span class="num">0.16062315</span>],
       [<span class="num">0.05040941</span>, <span class="num">0.10419563</span>, <span class="num">0.14622283</span>, <span class="num">0.16062315</span>, <span class="num">0.14900276</span>] ]


Defined in src/operator/random/pdf_op.cc:L303</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (shape) parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Beta (scale) parameters of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_generalized_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_generalized_negative_binomial(sample:Option[org.apache.mxnet.Symbol],mu:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],alpha:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_generalized_negative_binomial(Option[Symbol],Option[Symbol],Option[Boolean],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_generalized_negative_binomial</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_generalized_negative_binomial(sample:Option[org.apache.mxnet.Symbol],mu:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],alpha:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
generalized negative binomial distributions <span class="kw">with</span> parameters *mu* (mean)
and *alpha* (dispersion).  This can be understood as a reparameterization of
the negative binomial, where *k* = *<span class="num">1</span> / alpha* and *p* = *<span class="num">1</span> / (mu \* alpha + <span class="num">1</span>)*.

*mu* and *alpha* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *mu* and *alpha*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *mu* and *alpha* at index *i*.

Examples::

    random_pdf_generalized_negative_binomial(sample=`[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>] ], alpha=[<span class="num">1</span>], mu=[<span class="num">1</span>]) =
        `[ [<span class="num">0.25</span>, <span class="num">0.125</span>, <span class="num">0.0625</span>, <span class="num">0.03125</span>] ]

    sample = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>],
              [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ]
    random_pdf_generalized_negative_binomial(sample=sample, alpha=[<span class="num">1</span>, <span class="num">0.6666</span>], mu=[<span class="num">1</span>, <span class="num">1.5</span>]) =
        `[ [<span class="num">0.25</span>,       <span class="num">0.125</span>,      <span class="num">0.0625</span>,     <span class="num">0.03125</span>   ],
         [<span class="num">0.26517063</span>, <span class="num">0.16573331</span>, <span class="num">0.09667706</span>, <span class="num">0.05437994</span>] ]


Defined in src/operator/random/pdf_op.cc:L314</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">mu</dt><dd class="cmt"><p>Means of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (dispersion) parameters of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_negative_binomial(sample:Option[org.apache.mxnet.Symbol],k:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],p:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_negative_binomial(Option[Symbol],Option[Symbol],Option[Boolean],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_negative_binomial</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="k">k: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_negative_binomial(sample:Option[org.apache.mxnet.Symbol],k:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],p:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of samples of
negative binomial distributions <span class="kw">with</span> parameters *k* (failure limit) and *p* (failure probability).

*k* and *p* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *k* and *p*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *k* and *p* at index *i*.

Examples::

    random_pdf_negative_binomial(sample=`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ], k=[<span class="num">1</span>], p=a[<span class="num">0.5</span>]) =
        `[ [<span class="num">0.25</span>, <span class="num">0.125</span>, <span class="num">0.0625</span>, <span class="num">0.03125</span>] ]

    # Note that k may be real-valued
    sample = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>],
              [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ]
    random_pdf_negative_binomial(sample=sample, k=[<span class="num">1</span>, <span class="num">1.5</span>], p=[<span class="num">0.5</span>, <span class="num">0.5</span>]) =
        `[ [<span class="num">0.25</span>,       <span class="num">0.125</span>,      <span class="num">0.0625</span>,     <span class="num">0.03125</span>   ],
         [<span class="num">0.26516506</span>, <span class="num">0.16572815</span>, <span class="num">0.09667476</span>, <span class="num">0.05437956</span>] ]


Defined in src/operator/random/pdf_op.cc:L310</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">k</dt><dd class="cmt"><p>Limits of unsuccessful experiments.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">p</dt><dd class="cmt"><p>Failure probabilities in each experiment.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_normal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_normal(sample:Option[org.apache.mxnet.Symbol],mu:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],sigma:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_normal(Option[Symbol],Option[Symbol],Option[Boolean],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_normal</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="sigma">sigma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_normal(sample:Option[org.apache.mxnet.Symbol],mu:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],sigma:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
normal distributions <span class="kw">with</span> parameters *mu* (mean) and *sigma* (standard deviation).

*mu* and *sigma* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *mu* and *sigma*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *mu* and *sigma* at index *i*.

Examples::

    sample = `[ [-<span class="num">2</span>, -<span class="num">1</span>, <span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>] ]
    random_pdf_normal(sample=sample, mu=[<span class="num">0</span>], sigma=[<span class="num">1</span>]) =
        `[ [<span class="num">0.05399097</span>, <span class="num">0.24197073</span>, <span class="num">0.3989423</span>, <span class="num">0.24197073</span>, <span class="num">0.05399097</span>] ]

    random_pdf_normal(sample=sample*<span class="num">2</span>, mu=[<span class="num">0</span>,<span class="num">0</span>], sigma=[<span class="num">1</span>,<span class="num">2</span>]) =
        `[ [<span class="num">0.05399097</span>, <span class="num">0.24197073</span>, <span class="num">0.3989423</span>,  <span class="num">0.24197073</span>, <span class="num">0.05399097</span>],
         [<span class="num">0.12098537</span>, <span class="num">0.17603266</span>, <span class="num">0.19947115</span>, <span class="num">0.17603266</span>, <span class="num">0.12098537</span>] ]


Defined in src/operator/random/pdf_op.cc:L300</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">mu</dt><dd class="cmt"><p>Means of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">sigma</dt><dd class="cmt"><p>Standard deviations of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_poisson" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_poisson(sample:Option[org.apache.mxnet.Symbol],lam:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_poisson(Option[Symbol],Option[Symbol],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_poisson</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_poisson(sample:Option[org.apache.mxnet.Symbol],lam:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
Poisson distributions <span class="kw">with</span> parameters *lam* (rate).

The shape of *lam* must <span class="kw">match</span> the leftmost subshape of *sample*.  That is, *sample*
can have the same shape as *lam*, in which <span class="kw">case</span> the output contains one density per
distribution, or *sample* can be a tensor of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span>
the output is a tensor of densities such that the densities at index *i* in the output
are given by the samples at index *i* in *sample* parameterized by the value of *lam*
at index *i*.

Examples::

    random_pdf_poisson(sample=`[ [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ], lam=[<span class="num">1</span>]) =
        `[ [<span class="num">0.36787945</span>, <span class="num">0.36787945</span>, <span class="num">0.18393973</span>, <span class="num">0.06131324</span>] ]

    sample = `[ [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
              [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
              [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ]

    random_pdf_poisson(sample=sample, lam=[<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>]) =
        `[ [<span class="num">0.36787945</span>, <span class="num">0.36787945</span>, <span class="num">0.18393973</span>, <span class="num">0.06131324</span>],
         [<span class="num">0.13533528</span>, <span class="num">0.27067056</span>, <span class="num">0.27067056</span>, <span class="num">0.18044704</span>],
         [<span class="num">0.04978707</span>, <span class="num">0.14936121</span>, <span class="num">0.22404182</span>, <span class="num">0.22404182</span>] ]


Defined in src/operator/random/pdf_op.cc:L307</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">lam</dt><dd class="cmt"><p>Lambda (rate) parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_pdf_uniform" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_pdf_uniform(sample:Option[org.apache.mxnet.Symbol],low:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],high:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_pdf_uniform(Option[Symbol],Option[Symbol],Option[Boolean],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_pdf_uniform</span><span class="params">(<span name="sample">sample: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="low">low: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_pdf_uniform(sample:Option[org.apache.mxnet.Symbol],low:Option[org.apache.mxnet.Symbol],is_log:Option[Boolean],high:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
uniform distributions on the intervals given by *[low,high)*.

*low* and *high* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *low* and *high*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *low* and *high* at index *i*.

Examples::

    random_pdf_uniform(sample=`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ], low=[<span class="num">0</span>], high=[<span class="num">10</span>]) = [<span class="num">0.1</span>, <span class="num">0.1</span>, <span class="num">0.1</span>, <span class="num">0.1</span>]

    sample = `[ `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>],
               [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ],
              `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>],
               [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ] ]
    low  = `[ [<span class="num">0</span>, <span class="num">0</span>],
            [<span class="num">0</span>, <span class="num">0</span>] ]
    high = `[ [ <span class="num">5</span>, <span class="num">10</span>],
            [<span class="num">15</span>, <span class="num">20</span>] ]
    random_pdf_uniform(sample=sample, low=low, high=high) =
        `[ `[ [<span class="num">0.2</span>,        <span class="num">0.2</span>,        <span class="num">0.2</span>    ],
          [<span class="num">0.1</span>,        <span class="num">0.1</span>,        <span class="num">0.1</span>    ] ],
         `[ [<span class="num">0.06667</span>,    <span class="num">0.06667</span>,    <span class="num">0.06667</span>],
          [<span class="num">0.05</span>,       <span class="num">0.05</span>,       <span class="num">0.05</span>   ] ] ]



Defined in src/operator/random/pdf_op.cc:L298</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">low</dt><dd class="cmt"><p>Lower bounds of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bounds of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_poisson" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_poisson(lam:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_poisson(Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_poisson</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_poisson(lam:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a Poisson distribution.

Samples are distributed according to a Poisson distribution parametrized by *lambda* (rate).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   poisson(lam=<span class="num">4</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">5.</span>,  <span class="num">2.</span>],
                                  [ <span class="num">4.</span>,  <span class="num">6.</span>] ]


Defined in src/operator/random/sample_op.cc:L150</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda parameter (rate) of the Poisson distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_randint" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_randint(low:Long,high:Long,shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_randint(Long,Long,Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_randint</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Long">Long</span></span>, <span name="high">high: <span class="extype" name="scala.Long">Long</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_randint(low:Long,high:Long,shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a discrete uniform distribution.

Samples are uniformly distributed over the half-open interval *[low, high)*
(includes *low*, but excludes *high*).

Example::

   randint(low=<span class="num">0</span>, high=<span class="num">5</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0</span>,  <span class="num">2</span>],
                                          [ <span class="num">3</span>,  <span class="num">1</span>] ]



Defined in src/operator/random/sample_op.cc:L194</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bound of the distribution.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bound of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to int32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#random_uniform" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="random_uniform(low:Option[Float],high:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="random_uniform(Option[Float],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">random_uniform</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@random_uniform(low:Option[Float],high:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a uniform distribution.

.. note:: The existing alias ``uniform`` is deprecated.

Samples are uniformly distributed over the half-open interval *[low, high)*
(includes *low*, but excludes *high*).

Example::

   uniform(low=<span class="num">0</span>, high=<span class="num">1</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.60276335</span>,  <span class="num">0.85794562</span>],
                                          [ <span class="num">0.54488319</span>,  <span class="num">0.84725171</span>] ]



Defined in src/operator/random/sample_op.cc:L96</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bound of the distribution.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bound of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#ravel_multi_index" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ravel_multi_index(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="ravel_multi_index(Option[Symbol],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ravel_multi_index</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ravel_multi_index(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Converts a batch of index arrays into an array of flat indices. The operator follows numpy conventions so a single multi index is given by a column of the input matrix. The leading dimension may be left unspecified by using -<span class="num">1</span> as placeholder.

Examples::

   A = `[ [<span class="num">3</span>,<span class="num">6</span>,<span class="num">6</span>],[<span class="num">4</span>,<span class="num">5</span>,<span class="num">1</span>] ]
   ravel(A, shape=(<span class="num">7</span>,<span class="num">6</span>)) = [<span class="num">22</span>,<span class="num">41</span>,<span class="num">37</span>]
   ravel(A, shape=(-<span class="num">1</span>,<span class="num">6</span>)) = [<span class="num">22</span>,<span class="num">41</span>,<span class="num">37</span>]



Defined in src/operator/tensor/ravel.cc:L42</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Batch of multi-indices</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the array into which the multi-indices apply.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#rcbrt" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="rcbrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="rcbrt(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">rcbrt</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@rcbrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise inverse cube-root value of the input.

.. math::
   rcbrt(x) = <span class="num">1</span>/\sqrt[<span class="num">3</span>]{x}

Example::

   rcbrt([<span class="num">1</span>,<span class="num">8</span>,-<span class="num">125</span>]) = [<span class="num">1.0</span>, <span class="num">0.5</span>, -<span class="num">0.2</span>]



Defined in src/operator/tensor/elemwise_unary_op_pow.cc:L269</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#reciprocal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="reciprocal(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="reciprocal(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">reciprocal</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@reciprocal(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the reciprocal of the argument, element-wise.

Calculates <span class="num">1</span>/x.

Example::

    reciprocal([-<span class="num">2</span>, <span class="num">1</span>, <span class="num">3</span>, <span class="num">1.6</span>, <span class="num">0.2</span>]) = [-<span class="num">0.5</span>, <span class="num">1.0</span>, <span class="num">0.33333334</span>, <span class="num">0.625</span>, <span class="num">5.0</span>]



Defined in src/operator/tensor/elemwise_unary_op_pow.cc:L42</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#relu" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="relu(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="relu(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">relu</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@relu(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes rectified linear activation.

.. math::
   max(features, <span class="num">0</span>)

The storage <span class="kw">type</span> of ``relu`` output depends upon the input storage <span class="kw">type</span>:

   - relu(default) = default
   - relu(row_sparse) = row_sparse
   - relu(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L85</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#repeat" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="repeat(data:Option[org.apache.mxnet.Symbol],repeats:Int,axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="repeat(Option[Symbol],Int,Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">repeat</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="repeats">repeats: <span class="extype" name="scala.Int">Int</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@repeat(data:Option[org.apache.mxnet.Symbol],repeats:Int,axis:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Repeats elements of an array.
By default, ``repeat`` flattens the input array into <span class="num">1</span>-D and then repeats the
elements::
  x = `[ [ <span class="num">1</span>, <span class="num">2</span>],
       [ <span class="num">3</span>, <span class="num">4</span>] ]
  repeat(x, repeats=<span class="num">2</span>) = [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">4.</span>]
The parameter ``axis`` specifies the axis along which to perform repeat::
  repeat(x, repeats=<span class="num">2</span>, axis=<span class="num">1</span>) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>],
                                  [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">4.</span>] ]
  repeat(x, repeats=<span class="num">2</span>, axis=<span class="num">0</span>) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
                                  [ <span class="num">1.</span>,  <span class="num">2.</span>],
                                  [ <span class="num">3.</span>,  <span class="num">4.</span>],
                                  [ <span class="num">3.</span>,  <span class="num">4.</span>] ]
  repeat(x, repeats=<span class="num">2</span>, axis=-<span class="num">1</span>) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>],
                                   [ <span class="num">3.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">4.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L744</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data array</p></dd><dt class="param">repeats</dt><dd class="cmt"><p>The number of repetitions for each element.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis along which to repeat values. The negative numbers are interpreted counting from the backward. By default, use the flattened input array, and return a flat output array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#reset_arrays" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="reset_arrays(data:Array[org.apache.mxnet.Symbol],num_arrays:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="reset_arrays(Array[Symbol],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">reset_arrays</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="num_arrays">num_arrays: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@reset_arrays(data:Array[org.apache.mxnet.Symbol],num_arrays:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre><span class="std">Set</span> to zero multiple arrays


Defined in src/operator/contrib/reset_arrays.cc:L36</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Arrays</p></dd><dt class="param">num_arrays</dt><dd class="cmt"><p>number of input arrays.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#reshape" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="reshape(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],reverse:Option[Boolean],target_shape:Option[org.apache.mxnet.Shape],keep_highest:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="reshape(Option[Symbol],Option[Shape],Option[Boolean],Option[Shape],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">reshape</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="reverse">reverse: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="target_shape">target_shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keep_highest">keep_highest: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@reshape(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],reverse:Option[Boolean],target_shape:Option[org.apache.mxnet.Shape],keep_highest:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Reshapes the input array.
.. note:: ``Reshape`` is deprecated, use ``reshape``
Given an array and a shape, <span class="kw">this</span> function returns a copy of the array in the <span class="kw">new</span> shape.
The shape is a tuple of integers such as (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>). The size of the <span class="kw">new</span> shape should be same as the size of the input array.
Example::
  reshape([<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>], shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [<span class="num">1</span>,<span class="num">2</span>], [<span class="num">3</span>,<span class="num">4</span>] ]
<span class="std">Some</span> dimensions of the shape can take special values from the set {<span class="num">0</span>, -<span class="num">1</span>, -<span class="num">2</span>, -<span class="num">3</span>, -<span class="num">4</span>}. The significance of each is explained below:
- ``<span class="num">0</span>``  copy <span class="kw">this</span> dimension from the input to the output shape.
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">4</span>,<span class="num">0</span>,<span class="num">2</span>), output shape = (<span class="num">4</span>,<span class="num">3</span>,<span class="num">2</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">2</span>,<span class="num">0</span>,<span class="num">0</span>), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
- ``-<span class="num">1</span>`` infers the dimension of the output shape by using the remainder of the input dimensions
  keeping the size of the <span class="kw">new</span> array same as that of the input array.
  At most one dimension of shape can be -<span class="num">1.</span>
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">6</span>,<span class="num">1</span>,-<span class="num">1</span>), output shape = (<span class="num">6</span>,<span class="num">1</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">3</span>,-<span class="num">1</span>,<span class="num">8</span>), output shape = (<span class="num">3</span>,<span class="num">1</span>,<span class="num">8</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape=(-<span class="num">1</span>,), output shape = (<span class="num">24</span>,)
- ``-<span class="num">2</span>`` copy all/remainder of the input dimensions to the output shape.
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">2</span>,), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">2</span>,-<span class="num">2</span>), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">2</span>,<span class="num">1</span>,<span class="num">1</span>), output shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">1</span>,<span class="num">1</span>)
- ``-<span class="num">3</span>`` use the product of two consecutive dimensions of the input shape as the output dimension.
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">3</span>,<span class="num">4</span>), output shape = (<span class="num">6</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>), shape = (-<span class="num">3</span>,-<span class="num">3</span>), output shape = (<span class="num">6</span>,<span class="num">20</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">0</span>,-<span class="num">3</span>), output shape = (<span class="num">2</span>,<span class="num">12</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">3</span>,-<span class="num">2</span>), output shape = (<span class="num">6</span>,<span class="num">4</span>)
- ``-<span class="num">4</span>`` split one dimension of the input into two dimensions passed subsequent to -<span class="num">4</span> in shape (can contain -<span class="num">1</span>).
  Example::
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (-<span class="num">4</span>,<span class="num">1</span>,<span class="num">2</span>,-<span class="num">2</span>), output shape =(<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>)
  - input shape = (<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>), shape = (<span class="num">2</span>,-<span class="num">4</span>,-<span class="num">1</span>,<span class="num">3</span>,-<span class="num">2</span>), output shape = (<span class="num">2</span>,<span class="num">1</span>,<span class="num">3</span>,<span class="num">4</span>)
If the argument `reverse` is set to <span class="num">1</span>, then the special values are inferred from right to left.
  Example::
  - without reverse=<span class="num">1</span>, <span class="kw">for</span> input shape = (<span class="num">10</span>,<span class="num">5</span>,<span class="num">4</span>), shape = (-<span class="num">1</span>,<span class="num">0</span>), output shape would be (<span class="num">40</span>,<span class="num">5</span>)
  - <span class="kw">with</span> reverse=<span class="num">1</span>, output shape will be (<span class="num">50</span>,<span class="num">4</span>).


Defined in src/operator/tensor/matrix_op.cc:L175</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data to reshape.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>The target shape</p></dd><dt class="param">reverse</dt><dd class="cmt"><p>If true then the special values are inferred from right to left</p></dd><dt class="param">target_shape</dt><dd class="cmt"><p>(Deprecated! Use <code><code>shape</code></code> instead.) Target new shape. One and only one dim can be 0, in which case it will be inferred from the rest of dims</p></dd><dt class="param">keep_highest</dt><dd class="cmt"><p>(Deprecated! Use <code><code>shape</code></code> instead.) Whether keep the highest dim unchanged.If set to true, then the first dim in target_shape is ignored,and always fixed as input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#reshape_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="reshape_like(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],lhs_begin:Option[Int],lhs_end:Option[Int],rhs_begin:Option[Int],rhs_end:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="reshape_like(Option[Symbol],Option[Symbol],Option[Int],Option[Int],Option[Int],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">reshape_like</span><span class="params">(<span name="lhs">lhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="rhs">rhs: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lhs_begin">lhs_begin: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="lhs_end">lhs_end: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="rhs_begin">rhs_begin: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="rhs_end">rhs_end: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@reshape_like(lhs:Option[org.apache.mxnet.Symbol],rhs:Option[org.apache.mxnet.Symbol],lhs_begin:Option[Int],lhs_end:Option[Int],rhs_begin:Option[Int],rhs_end:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Reshape some or all dimensions of `lhs` to have the same shape as some or all dimensions of `rhs`.

Returns a **view** of the `lhs` array <span class="kw">with</span> a <span class="kw">new</span> shape without altering any data.

Example::

  x = [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>]
  y = `[ [<span class="num">0</span>, -<span class="num">4</span>], [<span class="num">3</span>, <span class="num">2</span>], [<span class="num">2</span>, <span class="num">2</span>] ]
  reshape_like(x, y) = `[ [<span class="num">1</span>, <span class="num">2</span>], [<span class="num">3</span>, <span class="num">4</span>], [<span class="num">5</span>, <span class="num">6</span>] ]

More precise control over how dimensions are inherited is achieved by specifying \
slices over the `lhs` and `rhs` array dimensions. Only the sliced `lhs` dimensions \
are reshaped to the `rhs` sliced dimensions, <span class="kw">with</span> the non-sliced `lhs` dimensions staying the same.

  Examples::

  - lhs shape = (<span class="num">30</span>,<span class="num">7</span>), rhs shape = (<span class="num">15</span>,<span class="num">2</span>,<span class="num">4</span>), lhs_begin=<span class="num">0</span>, lhs_end=<span class="num">1</span>, rhs_begin=<span class="num">0</span>, rhs_end=<span class="num">2</span>, output shape = (<span class="num">15</span>,<span class="num">2</span>,<span class="num">7</span>)
  - lhs shape = (<span class="num">3</span>, <span class="num">5</span>), rhs shape = (<span class="num">1</span>,<span class="num">15</span>,<span class="num">4</span>), lhs_begin=<span class="num">0</span>, lhs_end=<span class="num">2</span>, rhs_begin=<span class="num">1</span>, rhs_end=<span class="num">2</span>, output shape = (<span class="num">15</span>)

Negative indices are supported, and `<span class="std">None</span>` can be used <span class="kw">for</span> either `lhs_end` or `rhs_end` to indicate the end of the range.

  Example::

  - lhs shape = (<span class="num">30</span>, <span class="num">12</span>), rhs shape = (<span class="num">4</span>, <span class="num">2</span>, <span class="num">2</span>, <span class="num">3</span>), lhs_begin=-<span class="num">1</span>, lhs_end=<span class="std">None</span>, rhs_begin=<span class="num">1</span>, rhs_end=<span class="std">None</span>, output shape = (<span class="num">30</span>, <span class="num">2</span>, <span class="num">2</span>, <span class="num">3</span>)



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L513</pre></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>First input.</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>Second input.</p></dd><dt class="param">lhs_begin</dt><dd class="cmt"><p>Defaults to 0. The beginning index along which the lhs dimensions are to be reshaped. Supports negative indices.</p></dd><dt class="param">lhs_end</dt><dd class="cmt"><p>Defaults to None. The ending index along which the lhs dimensions are to be used for reshaping. Supports negative indices.</p></dd><dt class="param">rhs_begin</dt><dd class="cmt"><p>Defaults to 0. The beginning index along which the rhs dimensions are to be used for reshaping. Supports negative indices.</p></dd><dt class="param">rhs_end</dt><dd class="cmt"><p>Defaults to None. The ending index along which the rhs dimensions are to be used for reshaping. Supports negative indices.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#reverse" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="reverse(data:Option[org.apache.mxnet.Symbol],axis:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="reverse(Option[Symbol],Shape,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">reverse</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@reverse(data:Option[org.apache.mxnet.Symbol],axis:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Reverses the order of elements along given axis <span class="kw">while</span> preserving array shape.
Note: reverse and flip are equivalent. We use reverse in the following examples.
Examples::
  x = `[ [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
       [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>] ]
  reverse(x, axis=<span class="num">0</span>) = `[ [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>,  <span class="num">9.</span>],
                        [ <span class="num">0.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>] ]
  reverse(x, axis=<span class="num">1</span>) = `[ [ <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">0.</span>],
                        [ <span class="num">9.</span>,  <span class="num">8.</span>,  <span class="num">7.</span>,  <span class="num">6.</span>,  <span class="num">5.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L832</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis which to reverse elements.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#rint" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="rint(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="rint(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">rint</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@rint(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise rounded value to the nearest integer of the input.

.. note::
   - For input ``n.<span class="num">5</span>`` ``rint`` returns ``n`` <span class="kw">while</span> ``round`` returns ``n+<span class="num">1</span>``.
   - For input ``-n.<span class="num">5</span>`` both ``rint`` and ``round`` returns ``-n-<span class="num">1</span>``.

Example::

   rint([-<span class="num">1.5</span>, <span class="num">1.5</span>, -<span class="num">1.9</span>, <span class="num">1.9</span>, <span class="num">2.1</span>]) = [-<span class="num">2.</span>,  <span class="num">1.</span>, -<span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>]

The storage <span class="kw">type</span> of ``rint`` output depends upon the input storage <span class="kw">type</span>:

   - rint(default) = default
   - rint(row_sparse) = row_sparse
   - rint(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L799</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#rmsprop_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="rmsprop_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],n:Option[org.apache.mxnet.Symbol],lr:Float,gamma1:Option[Float],epsilon:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],clip_weights:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="rmsprop_update(Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">rmsprop_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="n">n: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="gamma1">gamma1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="epsilon">epsilon: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_weights">clip_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@rmsprop_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],n:Option[org.apache.mxnet.Symbol],lr:Float,gamma1:Option[Float],epsilon:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],clip_weights:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> `RMSProp` optimizer.

`RMSprop` is a variant of stochastic gradient descent where the gradients are
divided by a cache which grows <span class="kw">with</span> the sum of squares of recent gradients?

`RMSProp` is similar to `AdaGrad`, a popular variant of `SGD` which adaptively
tunes the learning rate of each parameter. `AdaGrad` lowers the learning rate <span class="kw">for</span>
each parameter monotonically over the course of training.
While <span class="kw">this</span> is analytically motivated <span class="kw">for</span> convex optimizations, it may not be ideal
<span class="kw">for</span> non-convex problems. `RMSProp` deals <span class="kw">with</span> <span class="kw">this</span> heuristically by allowing the
learning rates to rebound as the denominator decays over time.

Define the Root Mean Square (RMS) error criterion of the gradient as
:math:`RMS[g]_t = \sqrt{E[g^<span class="num">2</span>]_t + \epsilon}`, where :math:`g` represents
gradient and :math:`E[g^<span class="num">2</span>]_t` is the decaying average over past squared gradient.

The :math:`E[g^<span class="num">2</span>]_t` is given by:

.. math::
  E[g^<span class="num">2</span>]_t = \gamma * E[g^<span class="num">2</span>]_{t-<span class="num">1</span>} + (<span class="num">1</span>-\gamma) * g_t^<span class="num">2</span>

The update step is

.. math::
  \theta_{t+<span class="num">1</span>} = \theta_t - \frac{\eta}{RMS[g]_t} g_t

The RMSProp code follows the version in
http:<span class="cmt">//www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf</span>
Tieleman &amp; Hinton, <span class="num">2012.</span>

Hinton suggests the momentum term :math:`\gamma` to be <span class="num">0.9</span> and the learning rate
:math:`\eta` to be <span class="num">0.001</span>.



Defined in src/operator/optimizer_op.cc:L797</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">n</dt><dd class="cmt"><p>n</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">gamma1</dt><dd class="cmt"><p>The decay rate of momentum estimates.</p></dd><dt class="param">epsilon</dt><dd class="cmt"><p>A small constant for numerical stability.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">clip_weights</dt><dd class="cmt"><p>Clip weights to the range of [-clip_weights, clip_weights] If clip_weights &lt;= 0, weight clipping is turned off. weights = max(min(weights, clip_weights), -clip_weights).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#rmspropalex_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="rmspropalex_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],n:Option[org.apache.mxnet.Symbol],g:Option[org.apache.mxnet.Symbol],delta:Option[org.apache.mxnet.Symbol],lr:Float,gamma1:Option[Float],gamma2:Option[Float],epsilon:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],clip_weights:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="rmspropalex_update(Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">rmspropalex_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="n">n: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="g">g: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="delta">delta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="gamma1">gamma1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="gamma2">gamma2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="epsilon">epsilon: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_weights">clip_weights: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@rmspropalex_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],n:Option[org.apache.mxnet.Symbol],g:Option[org.apache.mxnet.Symbol],delta:Option[org.apache.mxnet.Symbol],lr:Float,gamma1:Option[Float],gamma2:Option[Float],epsilon:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],clip_weights:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> RMSPropAlex optimizer.

`RMSPropAlex` is non-centered version of `RMSProp`.

Define :math:`E[g^<span class="num">2</span>]_t` is the decaying average over past squared gradient and
:math:`E[g]_t` is the decaying average over past gradient.

.. math::
  E[g^<span class="num">2</span>]_t = \gamma_1 * E[g^<span class="num">2</span>]_{t-<span class="num">1</span>} + (<span class="num">1</span> - \gamma_1) * g_t^<span class="num">2</span>\\
  E[g]_t = \gamma_1 * E[g]_{t-<span class="num">1</span>} + (<span class="num">1</span> - \gamma_1) * g_t\\
  \Delta_t = \gamma_2 * \Delta_{t-<span class="num">1</span>} - \frac{\eta}{\sqrt{E[g^<span class="num">2</span>]_t - E[g]_t^<span class="num">2</span> + \epsilon}} g_t\\

The update step is

.. math::
  \theta_{t+<span class="num">1</span>} = \theta_t + \Delta_t

The RMSPropAlex code follows the version in
http:<span class="cmt">//arxiv.org/pdf/1308.0850v5.pdf Eq(38) - Eq(45) by Alex Graves, 2013.</span>

Graves suggests the momentum term :math:`\gamma_1` to be <span class="num">0.95</span>, :math:`\gamma_2`
to be <span class="num">0.9</span> and the learning rate :math:`\eta` to be <span class="num">0.0001</span>.


Defined in src/operator/optimizer_op.cc:L836</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">n</dt><dd class="cmt"><p>n</p></dd><dt class="param">g</dt><dd class="cmt"><p>g</p></dd><dt class="param">delta</dt><dd class="cmt"><p>delta</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">gamma1</dt><dd class="cmt"><p>Decay rate.</p></dd><dt class="param">gamma2</dt><dd class="cmt"><p>Decay rate.</p></dd><dt class="param">epsilon</dt><dd class="cmt"><p>A small constant for numerical stability.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">clip_weights</dt><dd class="cmt"><p>Clip weights to the range of [-clip_weights, clip_weights] If clip_weights &lt;= 0, weight clipping is turned off. weights = max(min(weights, clip_weights), -clip_weights).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#round" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="round(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="round(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">round</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@round(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise rounded value to the nearest integer of the input.

Example::

   round([-<span class="num">1.5</span>, <span class="num">1.5</span>, -<span class="num">1.9</span>, <span class="num">1.9</span>, <span class="num">2.1</span>]) = [-<span class="num">2.</span>,  <span class="num">2.</span>, -<span class="num">2.</span>,  <span class="num">2.</span>,  <span class="num">2.</span>]

The storage <span class="kw">type</span> of ``round`` output depends upon the input storage <span class="kw">type</span>:

  - round(default) = default
  - round(row_sparse) = row_sparse
  - round(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L778</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#rsqrt" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="rsqrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="rsqrt(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">rsqrt</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@rsqrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise inverse square-root value of the input.

.. math::
   rsqrt(x) = <span class="num">1</span>/\sqrt{x}

Example::

   rsqrt([<span class="num">4</span>,<span class="num">9</span>,<span class="num">16</span>]) = [<span class="num">0.5</span>, <span class="num">0.33333334</span>, <span class="num">0.25</span>]

The storage <span class="kw">type</span> of ``rsqrt`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_pow.cc:L193</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_exponential" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_exponential(lam:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_exponential(Option[Symbol],Option[Shape],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_exponential</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_exponential(lam:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
exponential distributions <span class="kw">with</span> parameters lambda (rate).

The parameters of the distributions are provided as an input array.
Let *[s]* be the shape of the input array, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input array, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input value at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input array.

Examples::

   lam = [ <span class="num">1.0</span>, <span class="num">8.5</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_exponential(lam) = [ <span class="num">0.51837951</span>,  <span class="num">0.09994757</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_exponential(lam, shape=(<span class="num">2</span>)) = `[ [ <span class="num">0.51837951</span>,  <span class="num">0.19866663</span>],
                                         [ <span class="num">0.09994757</span>,  <span class="num">0.50447971</span>] ]


Defined in src/operator/random/multisample_op.cc:L284</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda (rate) parameters of the distributions.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_gamma" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_gamma(alpha:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],beta:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_gamma(Option[Symbol],Option[Shape],Option[String],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_gamma</span><span class="params">(<span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_gamma(alpha:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],beta:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
gamma distributions <span class="kw">with</span> parameters *alpha* (shape) and *beta* (scale).

The parameters of the distributions are provided as input arrays.
Let *[s]* be the shape of the input arrays, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input arrays, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input values at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input arrays.

Examples::

   alpha = [ <span class="num">0.0</span>, <span class="num">2.5</span> ]
   beta = [ <span class="num">1.0</span>, <span class="num">0.7</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_gamma(alpha, beta) = [ <span class="num">0.</span>        ,  <span class="num">2.25797319</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_gamma(alpha, beta, shape=(<span class="num">2</span>)) = `[ [ <span class="num">0.</span>        ,  <span class="num">0.</span>        ],
                                           [ <span class="num">2.25797319</span>,  <span class="num">1.70734084</span>] ]


Defined in src/operator/random/multisample_op.cc:L282</pre></div><dl class="paramcmts block"><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (shape) parameters of the distributions.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Beta (scale) parameters of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_generalized_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_generalized_negative_binomial(mu:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],alpha:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_generalized_negative_binomial(Option[Symbol],Option[Shape],Option[String],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_generalized_negative_binomial</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_generalized_negative_binomial(mu:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],alpha:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
generalized negative binomial distributions <span class="kw">with</span> parameters *mu* (mean) and *alpha* (dispersion).

The parameters of the distributions are provided as input arrays.
Let *[s]* be the shape of the input arrays, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input arrays, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input values at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input arrays.

Samples will always be returned as a floating point data <span class="kw">type</span>.

Examples::

   mu = [ <span class="num">2.0</span>, <span class="num">2.5</span> ]
   alpha = [ <span class="num">1.0</span>, <span class="num">0.1</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_generalized_negative_binomial(mu, alpha) = [ <span class="num">0.</span>,  <span class="num">3.</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_generalized_negative_binomial(mu, alpha, shape=(<span class="num">2</span>)) = `[ [ <span class="num">0.</span>,  <span class="num">3.</span>],
                                                                 [ <span class="num">3.</span>,  <span class="num">1.</span>] ]


Defined in src/operator/random/multisample_op.cc:L293</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Means of the distributions.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (dispersion) parameters of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_multinomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_multinomial(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],get_prob:Option[Boolean],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_multinomial(Option[Symbol],Option[Shape],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_multinomial</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="get_prob">get_prob: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_multinomial(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],get_prob:Option[Boolean],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple multinomial distributions.

*data* is an *n* dimensional array whose last dimension has length *k*, where
*k* is the number of possible outcomes of each multinomial distribution. This
operator will draw *shape* samples from each distribution. If shape is empty
one sample will be drawn from each distribution.

If *get_prob* is <span class="kw">true</span>, a second array containing log likelihood of the drawn
samples will also be returned. This is usually used <span class="kw">for</span> reinforcement learning
where you can provide reward as head gradient <span class="kw">for</span> <span class="kw">this</span> array to estimate
gradient.

Note that the input distribution must be normalized, i.e. *data* must sum to
<span class="num">1</span> along its last axis.

Examples::

   probs = `[ [<span class="num">0</span>, <span class="num">0.1</span>, <span class="num">0.2</span>, <span class="num">0.3</span>, <span class="num">0.4</span>], [<span class="num">0.4</span>, <span class="num">0.3</span>, <span class="num">0.2</span>, <span class="num">0.1</span>, <span class="num">0</span>] ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_multinomial(probs) = [<span class="num">3</span>, <span class="num">0</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_multinomial(probs, shape=(<span class="num">2</span>)) = `[ [<span class="num">4</span>, <span class="num">2</span>],
                                           [<span class="num">0</span>, <span class="num">0</span>] ]

   <span class="cmt">// requests log likelihood</span>
   sample_multinomial(probs, get_prob=True) = [<span class="num">2</span>, <span class="num">1</span>], [<span class="num">0.2</span>, <span class="num">0.3</span>]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Distribution probabilities. Must sum to one on the last axis.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">get_prob</dt><dd class="cmt"><p>Whether to also return the log probability of sampled result. This is usually used for differentiating through stochastic variables, e.g. in reinforcement learning.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_negative_binomial(k:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],p:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_negative_binomial(Option[Symbol],Option[Shape],Option[String],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_negative_binomial</span><span class="params">(<span name="k">k: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_negative_binomial(k:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],p:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
negative binomial distributions <span class="kw">with</span> parameters *k* (failure limit) and *p* (failure probability).

The parameters of the distributions are provided as input arrays.
Let *[s]* be the shape of the input arrays, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input arrays, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input values at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input arrays.

Samples will always be returned as a floating point data <span class="kw">type</span>.

Examples::

   k = [ <span class="num">20</span>, <span class="num">49</span> ]
   p = [ <span class="num">0.4</span> , <span class="num">0.77</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_negative_binomial(k, p) = [ <span class="num">15.</span>,  <span class="num">16.</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_negative_binomial(k, p, shape=(<span class="num">2</span>)) = `[ [ <span class="num">15.</span>,  <span class="num">50.</span>],
                                                [ <span class="num">16.</span>,  <span class="num">12.</span>] ]


Defined in src/operator/random/multisample_op.cc:L289</pre></div><dl class="paramcmts block"><dt class="param">k</dt><dd class="cmt"><p>Limits of unsuccessful experiments.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt class="param">p</dt><dd class="cmt"><p>Failure probabilities in each experiment.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_normal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_normal(mu:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],sigma:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_normal(Option[Symbol],Option[Shape],Option[String],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_normal</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="sigma">sigma: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_normal(mu:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],sigma:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
normal distributions <span class="kw">with</span> parameters *mu* (mean) and *sigma* (standard deviation).

The parameters of the distributions are provided as input arrays.
Let *[s]* be the shape of the input arrays, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input arrays, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input values at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input arrays.

Examples::

   mu = [ <span class="num">0.0</span>, <span class="num">2.5</span> ]
   sigma = [ <span class="num">1.0</span>, <span class="num">3.7</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_normal(mu, sigma) = [-<span class="num">0.56410581</span>,  <span class="num">0.95934606</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_normal(mu, sigma, shape=(<span class="num">2</span>)) = `[ [-<span class="num">0.56410581</span>,  <span class="num">0.2928229</span> ],
                                          [ <span class="num">0.95934606</span>,  <span class="num">4.48287058</span>] ]


Defined in src/operator/random/multisample_op.cc:L279</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Means of the distributions.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt class="param">sigma</dt><dd class="cmt"><p>Standard deviations of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_poisson" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_poisson(lam:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_poisson(Option[Symbol],Option[Shape],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_poisson</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_poisson(lam:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
Poisson distributions <span class="kw">with</span> parameters lambda (rate).

The parameters of the distributions are provided as an input array.
Let *[s]* be the shape of the input array, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input array, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input value at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input array.

Samples will always be returned as a floating point data <span class="kw">type</span>.

Examples::

   lam = [ <span class="num">1.0</span>, <span class="num">8.5</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_poisson(lam) = [  <span class="num">0.</span>,  <span class="num">13.</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_poisson(lam, shape=(<span class="num">2</span>)) = `[ [  <span class="num">0.</span>,   <span class="num">4.</span>],
                                     [ <span class="num">13.</span>,   <span class="num">8.</span>] ]


Defined in src/operator/random/multisample_op.cc:L286</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda (rate) parameters of the distributions.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sample_uniform" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sample_uniform(low:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],high:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sample_uniform(Option[Symbol],Option[Shape],Option[String],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sample_uniform</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sample_uniform(low:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],dtype:Option[String],high:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple
uniform distributions on the intervals given by *[low,high)*.

The parameters of the distributions are provided as input arrays.
Let *[s]* be the shape of the input arrays, *n* be the dimension of *[s]*, *[t]*
be the shape specified as the parameter of the operator, and *m* be the dimension
of *[t]*. Then the output will be a *(n+m)*-dimensional array <span class="kw">with</span> shape *[s]x[t]*.

For any valid *n*-dimensional index *i* <span class="kw">with</span> respect to the input arrays, *output[i]*
will be an *m*-dimensional array that holds randomly drawn samples from the distribution
which is parameterized by the input values at index *i*. If the shape parameter of the
operator is not set, then one sample will be drawn per distribution and the output array
has the same shape as the input arrays.

Examples::

   low = [ <span class="num">0.0</span>, <span class="num">2.5</span> ]
   high = [ <span class="num">1.0</span>, <span class="num">3.7</span> ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_uniform(low, high) = [ <span class="num">0.40451524</span>,  <span class="num">3.18687344</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_uniform(low, high, shape=(<span class="num">2</span>)) = `[ [ <span class="num">0.40451524</span>,  <span class="num">0.18017688</span>],
                                           [ <span class="num">3.18687344</span>,  <span class="num">3.68352246</span>] ]


Defined in src/operator/random/multisample_op.cc:L277</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bounds of the distributions.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bounds of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#scatter_nd" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="scatter_nd(data:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],shape:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="scatter_nd(Option[Symbol],Option[Symbol],Shape,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">scatter_nd</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="indices">indices: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@scatter_nd(data:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],shape:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Scatters data into a <span class="kw">new</span> tensor according to indices.

Given `data` <span class="kw">with</span> shape `(Y_0, ..., Y_{K-<span class="num">1</span>}, X_M, ..., X_{N-<span class="num">1</span>})` and indices <span class="kw">with</span> shape
`(M, Y_0, ..., Y_{K-<span class="num">1</span>})`, the output will have shape `(X_0, X_1, ..., X_{N-<span class="num">1</span>})`,
where `M &lt;= N`. If `M == N`, data shape should simply be `(Y_0, ..., Y_{K-<span class="num">1</span>})`.

The elements in output is defined as follows::

  output[indices[<span class="num">0</span>, y_0, ..., y_{K-<span class="num">1</span>}],
         ...,
         indices[M-<span class="num">1</span>, y_0, ..., y_{K-<span class="num">1</span>}],
         x_M, ..., x_{N-<span class="num">1</span>}] = data[y_0, ..., y_{K-<span class="num">1</span>}, x_M, ..., x_{N-<span class="num">1</span>}]

all other entries in output are <span class="num">0.</span>

.. warning::

    If the indices have duplicates, the result will be non-deterministic and
    the gradient of `scatter_nd` will not be correct!!


Examples::

  data = [<span class="num">2</span>, <span class="num">3</span>, <span class="num">0</span>]
  indices = `[ [<span class="num">1</span>, <span class="num">1</span>, <span class="num">0</span>], [<span class="num">0</span>, <span class="num">1</span>, <span class="num">0</span>] ]
  shape = (<span class="num">2</span>, <span class="num">2</span>)
  scatter_nd(data, indices, shape) = `[ [<span class="num">0</span>, <span class="num">0</span>], [<span class="num">2</span>, <span class="num">3</span>] ]

  data = `[ `[ [<span class="num">1</span>, <span class="num">2</span>], [<span class="num">3</span>, <span class="num">4</span>] ], `[ [<span class="num">5</span>, <span class="num">6</span>], [<span class="num">7</span>, <span class="num">8</span>] ] ]
  indices = `[ [<span class="num">0</span>, <span class="num">1</span>], [<span class="num">1</span>, <span class="num">1</span>] ]
  shape = (<span class="num">2</span>, <span class="num">2</span>, <span class="num">2</span>, <span class="num">2</span>)
  scatter_nd(data, indices, shape) = `[ [`[ [<span class="num">0</span>, <span class="num">0</span>],
                                        [<span class="num">0</span>, <span class="num">0</span>] ],

                                       `[ [<span class="num">1</span>, <span class="num">2</span>],
                                        [<span class="num">3</span>, <span class="num">4</span>] ] ],

                                      `[ `[ [<span class="num">0</span>, <span class="num">0</span>],
                                        [<span class="num">0</span>, <span class="num">0</span>] ],

                                       `[ [<span class="num">5</span>, <span class="num">6</span>],
                                        [<span class="num">7</span>, <span class="num">8</span>] ] ] ]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>data</p></dd><dt class="param">indices</dt><dd class="cmt"><p>indices</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of output.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sgd_mom_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sgd_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sgd_mom_update(Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sgd_mom_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mom">mom: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="lazy_update">lazy_update: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sgd_mom_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Momentum update function <span class="kw">for</span> Stochastic Gradient Descent (SGD) optimizer.

Momentum update has better convergence rates on neural networks. Mathematically it looks
like below:

.. math::

  v_1 = \alpha * \nabla J(W_0)\\
  v_t = \gamma v_{t-<span class="num">1</span>} - \alpha * \nabla J(W_{t-<span class="num">1</span>})\\
  W_t = W_{t-<span class="num">1</span>} + v_t

It updates the weights using::

  v = momentum * v - learning_rate * gradient
  weight += v

Where the parameter ``momentum`` is the decay rate of momentum estimates at each epoch.

However, <span class="kw">if</span> grad's storage <span class="kw">type</span> is ``row_sparse``, ``lazy_update`` is True and weight's storage
<span class="kw">type</span> is the same as momentum's storage <span class="kw">type</span>,
only the row slices whose indices appear in grad.indices are updated (<span class="kw">for</span> both weight and momentum)::

  <span class="kw">for</span> row in gradient.indices:
      v[row] = momentum[row] * v[row] - learning_rate * gradient[row]
      weight[row] += v[row]



Defined in src/operator/optimizer_op.cc:L565</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mom</dt><dd class="cmt"><p>Momentum</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">lazy_update</dt><dd class="cmt"><p>If true, lazy updates are applied if gradient's stype is row_sparse and both weight and momentum have the same stype</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sgd_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],lr:Float,wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sgd_update(Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sgd_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="lazy_update">lazy_update: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sgd_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],lr:Float,wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],lazy_update:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> Stochastic Gradient Descent (SGD) optimizer.

It updates the weights using::

 weight = weight - learning_rate * (gradient + wd * weight)

However, <span class="kw">if</span> gradient is of ``row_sparse`` storage <span class="kw">type</span> and ``lazy_update`` is True,
only the row slices whose indices appear in grad.indices are updated::

 <span class="kw">for</span> row in gradient.indices:
     weight[row] = weight[row] - learning_rate * (gradient[row] + wd * weight[row])



Defined in src/operator/optimizer_op.cc:L524</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">lazy_update</dt><dd class="cmt"><p>If true, lazy updates are applied if gradient's stype is row_sparse.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#shape_array" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="shape_array(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="shape_array(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">shape_array</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@shape_array(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns a <span class="num">1</span>D int64 array containing the shape of data.

Example::

  shape_array(`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>], [<span class="num">5</span>,<span class="num">6</span>,<span class="num">7</span>,<span class="num">8</span>] ]) = [<span class="num">2</span>,<span class="num">4</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L574</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input Array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#shuffle" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="shuffle(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="shuffle(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">shuffle</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@shuffle(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Randomly shuffle the elements.

This shuffles the array along the first axis.
The order of the elements in each subarray does not change.
For example, <span class="kw">if</span> a <span class="num">2</span>D array is given, the order of the rows randomly changes,
but the order of the elements in each row does not change.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Data to be shuffled.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sigmoid" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sigmoid(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sigmoid(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sigmoid</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sigmoid(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes sigmoid of x element-wise.

.. math::
   y = <span class="num">1</span> / (<span class="num">1</span> + exp(-x))

The storage <span class="kw">type</span> of ``sigmoid`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L119</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sign" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sign(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sign(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sign</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sign(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise sign of the input.

Example::

   sign([-<span class="num">2</span>, <span class="num">0</span>, <span class="num">3</span>]) = [-<span class="num">1</span>, <span class="num">0</span>, <span class="num">1</span>]

The storage <span class="kw">type</span> of ``sign`` output depends upon the input storage <span class="kw">type</span>:

   - sign(default) = default
   - sign(row_sparse) = row_sparse
   - sign(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L759</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#signsgd_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="signsgd_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],lr:Float,wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="signsgd_update(Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">signsgd_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@signsgd_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],lr:Float,wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Update function <span class="kw">for</span> SignSGD optimizer.

.. math::

 g_t = \nabla J(W_{t-<span class="num">1</span>})\\
 W_t = W_{t-<span class="num">1</span>} - \eta_t \text{sign}(g_t)

It updates the weights using::

 weight = weight - learning_rate * sign(gradient)

.. note::
   - sparse ndarray not supported <span class="kw">for</span> <span class="kw">this</span> optimizer yet.


Defined in src/operator/optimizer_op.cc:L63</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#signum_update" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="signum_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],wd_lh:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="signum_update(Option[Symbol],Option[Symbol],Option[Symbol],Float,Option[Float],Option[Float],Option[Float],Option[Float],Option[Float],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">signum_update</span><span class="params">(<span name="weight">weight: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="grad">grad: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="mom">mom: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="lr">lr: <span class="extype" name="scala.Float">Float</span></span>, <span name="momentum">momentum: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd">wd: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="rescale_grad">rescale_grad: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="clip_gradient">clip_gradient: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="wd_lh">wd_lh: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@signum_update(weight:Option[org.apache.mxnet.Symbol],grad:Option[org.apache.mxnet.Symbol],mom:Option[org.apache.mxnet.Symbol],lr:Float,momentum:Option[Float],wd:Option[Float],rescale_grad:Option[Float],clip_gradient:Option[Float],wd_lh:Option[Float],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>SIGN momentUM (Signum) optimizer.

.. math::

 g_t = \nabla J(W_{t-<span class="num">1</span>})\\
 m_t = \beta m_{t-<span class="num">1</span>} + (<span class="num">1</span> - \beta) g_t\\
 W_t = W_{t-<span class="num">1</span>} - \eta_t \text{sign}(m_t)

It updates the weights using::
 state = momentum * state + (<span class="num">1</span>-momentum) * gradient
 weight = weight - learning_rate * sign(state)

Where the parameter ``momentum`` is the decay rate of momentum estimates at each epoch.

.. note::
   - sparse ndarray not supported <span class="kw">for</span> <span class="kw">this</span> optimizer yet.


Defined in src/operator/optimizer_op.cc:L92</pre></div><dl class="paramcmts block"><dt class="param">weight</dt><dd class="cmt"><p>Weight</p></dd><dt class="param">grad</dt><dd class="cmt"><p>Gradient</p></dd><dt class="param">mom</dt><dd class="cmt"><p>Momentum</p></dd><dt class="param">lr</dt><dd class="cmt"><p>Learning rate</p></dd><dt class="param">momentum</dt><dd class="cmt"><p>The decay rate of momentum estimates at each epoch.</p></dd><dt class="param">wd</dt><dd class="cmt"><p>Weight decay augments the objective function with a regularization term that penalizes large weights. The penalty scales with the square of the magnitude of each weight.</p></dd><dt class="param">rescale_grad</dt><dd class="cmt"><p>Rescale gradient to grad = rescale_grad*grad.</p></dd><dt class="param">clip_gradient</dt><dd class="cmt"><p>Clip gradient to the range of [-clip_gradient, clip_gradient] If clip_gradient &lt;= 0, gradient clipping is turned off. grad = max(min(grad, clip_gradient), -clip_gradient).</p></dd><dt class="param">wd_lh</dt><dd class="cmt"><p>The amount of weight decay that does not go into gradient/momentum calculationsotherwise do weight decay algorithmically only.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sin" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sin(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sin(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sin</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sin(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the element-wise sine of the input array.

The input should be in radians (:math:`<span class="num">2</span>\pi` rad equals <span class="num">360</span> degrees).

.. math::
   sin([<span class="num">0</span>, \pi/<span class="num">4</span>, \pi/<span class="num">2</span>]) = [<span class="num">0</span>, <span class="num">0.707</span>, <span class="num">1</span>]

The storage <span class="kw">type</span> of ``sin`` output depends upon the input storage <span class="kw">type</span>:

   - sin(default) = default
   - sin(row_sparse) = row_sparse
   - sin(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L47</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sinh" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sinh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sinh(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sinh</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sinh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the hyperbolic sine of the input array, computed element-wise.

.. math::
   sinh(x) = <span class="num">0.5</span>\times(exp(x) - exp(-x))

The storage <span class="kw">type</span> of ``sinh`` output depends upon the input storage <span class="kw">type</span>:

   - sinh(default) = default
   - sinh(row_sparse) = row_sparse
   - sinh(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L313</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#size_array" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="size_array(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="size_array(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">size_array</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@size_array(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns a <span class="num">1</span>D int64 array containing the size of data.

Example::

  size_array(`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>], [<span class="num">5</span>,<span class="num">6</span>,<span class="num">7</span>,<span class="num">8</span>] ]) = [<span class="num">8</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L625</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input Array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#slice" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="slice(data:Option[org.apache.mxnet.Symbol],begin:org.apache.mxnet.Shape,end:org.apache.mxnet.Shape,step:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="slice(Option[Symbol],Shape,Shape,Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">slice</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="begin">begin: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="end">end: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="step">step: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@slice(data:Option[org.apache.mxnet.Symbol],begin:org.apache.mxnet.Shape,end:org.apache.mxnet.Shape,step:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Slices a region of the array.
.. note:: ``crop`` is deprecated. Use ``slice`` instead.
This function returns a sliced array between the indices given
by `begin` and `end` <span class="kw">with</span> the corresponding `step`.
For an input array of ``shape=(d_0, d_1, ..., d_n-<span class="num">1</span>)``,
slice operation <span class="kw">with</span> ``begin=(b_0, b_1...b_m-<span class="num">1</span>)``,
``end=(e_0, e_1, ..., e_m-<span class="num">1</span>)``, and ``step=(s_0, s_1, ..., s_m-<span class="num">1</span>)``,
where m &lt;= n, results in an array <span class="kw">with</span> the shape
``(|e_0-b_0|/|s_0|, ..., |e_m-<span class="num">1</span>-b_m-<span class="num">1</span>|/|s_m-<span class="num">1</span>|, d_m, ..., d_n-<span class="num">1</span>)``.
The resulting array's *k*-th dimension contains elements
from the *k*-th dimension of the input array starting
from index ``b_k`` (inclusive) <span class="kw">with</span> step ``s_k``
until reaching ``e_k`` (exclusive).
If the *k*-th elements are `<span class="std">None</span>` in the sequence of `begin`, `end`,
and `step`, the following rule will be used to set default values.
If `s_k` is `<span class="std">None</span>`, set `s_k=<span class="num">1</span>`. If `s_k &gt; <span class="num">0</span>`, set `b_k=<span class="num">0</span>`, `e_k=d_k`;
<span class="kw">else</span>, set `b_k=d_k-<span class="num">1</span>`, `e_k=-<span class="num">1</span>`.
The storage <span class="kw">type</span> of ``slice`` output depends on storage types of inputs
- slice(csr) = csr
- otherwise, ``slice`` generates output <span class="kw">with</span> default storage
.. note:: When input data storage <span class="kw">type</span> is csr, it only supports
   step=(), or step=(<span class="std">None</span>,), or step=(<span class="num">1</span>,) to generate a csr output.
   For other step parameter values, it falls back to slicing
   a dense tensor.
Example::
  x = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>],
       [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>],
       [  <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ]
  slice(x, begin=(<span class="num">0</span>,<span class="num">1</span>), end=(<span class="num">2</span>,<span class="num">4</span>)) = `[ [ <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
                                     [ <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>] ]
  slice(x, begin=(<span class="std">None</span>, <span class="num">0</span>), end=(<span class="std">None</span>, <span class="num">3</span>), step=(-<span class="num">1</span>, <span class="num">2</span>)) = `[ [<span class="num">9.</span>, <span class="num">11.</span>],
                                                            [<span class="num">5.</span>,  <span class="num">7.</span>],
                                                            [<span class="num">1.</span>,  <span class="num">3.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L482</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Source input</p></dd><dt class="param">begin</dt><dd class="cmt"><p>starting indices for the slice operation, supports negative indices.</p></dd><dt class="param">end</dt><dd class="cmt"><p>ending indices for the slice operation, supports negative indices.</p></dd><dt class="param">step</dt><dd class="cmt"><p>step for the slice operation, supports negative values.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#slice_axis" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="slice_axis(data:Option[org.apache.mxnet.Symbol],axis:Int,begin:Int,end:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="slice_axis(Option[Symbol],Int,Int,Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">slice_axis</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Int">Int</span></span>, <span name="begin">begin: <span class="extype" name="scala.Int">Int</span></span>, <span name="end">end: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@slice_axis(data:Option[org.apache.mxnet.Symbol],axis:Int,begin:Int,end:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Slices along a given axis.
Returns an array slice along a given `axis` starting from the `begin` index
to the `end` index.
Examples::
  x = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>],
       [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>],
       [  <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ]
  slice_axis(x, axis=<span class="num">0</span>, begin=<span class="num">1</span>, end=<span class="num">3</span>) = `[ [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>],
                                           [  <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ]
  slice_axis(x, axis=<span class="num">1</span>, begin=<span class="num">0</span>, end=<span class="num">2</span>) = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>],
                                           [  <span class="num">5.</span>,   <span class="num">6.</span>],
                                           [  <span class="num">9.</span>,  <span class="num">10.</span>] ]
  slice_axis(x, axis=<span class="num">1</span>, begin=-<span class="num">3</span>, end=-<span class="num">1</span>) = `[ [  <span class="num">2.</span>,   <span class="num">3.</span>],
                                             [  <span class="num">6.</span>,   <span class="num">7.</span>],
                                             [ <span class="num">10.</span>,  <span class="num">11.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L571</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Source input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which to be sliced, supports negative indexes.</p></dd><dt class="param">begin</dt><dd class="cmt"><p>The beginning index along the axis to be sliced,  supports negative indexes.</p></dd><dt class="param">end</dt><dd class="cmt"><p>The ending index along the axis to be sliced,  supports negative indexes.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#slice_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="slice_like(data:Option[org.apache.mxnet.Symbol],shape_like:Option[org.apache.mxnet.Symbol],axes:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="slice_like(Option[Symbol],Option[Symbol],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">slice_like</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape_like">shape_like: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axes">axes: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@slice_like(data:Option[org.apache.mxnet.Symbol],shape_like:Option[org.apache.mxnet.Symbol],axes:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Slices a region of the array like the shape of another array.
This function is similar to ``slice``, however, the `begin` are always `<span class="num">0</span>`s
and `end` of specific axes are inferred from the second input `shape_like`.
Given the second `shape_like` input of ``shape=(d_0, d_1, ..., d_n-<span class="num">1</span>)``,
a ``slice_like`` operator <span class="kw">with</span> default empty `axes`, it performs the
following operation:
`` out = slice(input, begin=(<span class="num">0</span>, <span class="num">0</span>, ..., <span class="num">0</span>), end=(d_0, d_1, ..., d_n-<span class="num">1</span>))``.
When `axes` is not empty, it is used to speficy which axes are being sliced.
Given a <span class="num">4</span>-d input data, ``slice_like`` operator <span class="kw">with</span> ``axes=(<span class="num">0</span>, <span class="num">2</span>, -<span class="num">1</span>)``
will perform the following operation:
`` out = slice(input, begin=(<span class="num">0</span>, <span class="num">0</span>, <span class="num">0</span>, <span class="num">0</span>), end=(d_0, <span class="std">None</span>, d_2, d_3))``.
Note that it is allowed to have first and second input <span class="kw">with</span> different dimensions,
however, you have to make sure the `axes` are specified and not exceeding the
dimension limits.
For example, given `input_1` <span class="kw">with</span> ``shape=(<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>)`` and `input_2` <span class="kw">with</span>
``shape=(<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>)``, it is not allowed to use:
`` out = slice_like(a, b)`` because ndim of `input_1` is <span class="num">4</span>, and ndim of `input_2`
is <span class="num">3.</span>
The following is allowed in <span class="kw">this</span> situation:
`` out = slice_like(a, b, axes=(<span class="num">0</span>, <span class="num">2</span>))``
Example::
  x = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>,   <span class="num">4.</span>],
       [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>,   <span class="num">8.</span>],
       [  <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>,  <span class="num">12.</span>] ]
  y = `[ [  <span class="num">0.</span>,   <span class="num">0.</span>,   <span class="num">0.</span>],
       [  <span class="num">0.</span>,   <span class="num">0.</span>,   <span class="num">0.</span>] ]
  slice_like(x, y) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>]
                      [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>] ]
  slice_like(x, y, axes=(<span class="num">0</span>, <span class="num">1</span>)) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>]
                                   [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>] ]
  slice_like(x, y, axes=(<span class="num">0</span>)) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>]
                                [ <span class="num">5.</span>,  <span class="num">6.</span>,  <span class="num">7.</span>,  <span class="num">8.</span>] ]
  slice_like(x, y, axes=(-<span class="num">1</span>)) = `[ [  <span class="num">1.</span>,   <span class="num">2.</span>,   <span class="num">3.</span>]
                                 [  <span class="num">5.</span>,   <span class="num">6.</span>,   <span class="num">7.</span>]
                                 [  <span class="num">9.</span>,  <span class="num">10.</span>,  <span class="num">11.</span>] ]


Defined in src/operator/tensor/matrix_op.cc:L625</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Source input</p></dd><dt class="param">shape_like</dt><dd class="cmt"><p>Shape like input</p></dd><dt class="param">axes</dt><dd class="cmt"><p>List of axes on which input data will be sliced according to the corresponding size of the second input. By default will slice on all axes. Negative axes are supported.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#smooth_l1" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="smooth_l1(data:Option[org.apache.mxnet.Symbol],scalar:Float,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="smooth_l1(Option[Symbol],Float,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">smooth_l1</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="scalar">scalar: <span class="extype" name="scala.Float">Float</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@smooth_l1(data:Option[org.apache.mxnet.Symbol],scalar:Float,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Calculate Smooth L1 Loss(lhs, scalar) by summing

.. math::

    f(x) =
    \begin{cases}
    (\sigma x)^<span class="num">2</span>/<span class="num">2</span>,&amp; \text{<span class="kw">if</span> }x &lt; <span class="num">1</span>/\sigma^<span class="num">2</span>\\
    |x|-<span class="num">0.5</span>/\sigma^<span class="num">2</span>,&amp; \text{otherwise}
    \end{cases}

where :math:`x` is an element of the tensor *lhs* and :math:`\sigma` is the scalar.

Example::

  smooth_l1([<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>]) = [<span class="num">0.5</span>, <span class="num">1.5</span>, <span class="num">2.5</span>, <span class="num">3.5</span>]
  smooth_l1([<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>], scalar=<span class="num">1</span>) = [<span class="num">0.5</span>, <span class="num">1.5</span>, <span class="num">2.5</span>, <span class="num">3.5</span>]



Defined in src/operator/tensor/elemwise_binary_scalar_op_extended.cc:L108</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>source input</p></dd><dt class="param">scalar</dt><dd class="cmt"><p>scalar input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#softmax" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="softmax(data:Option[org.apache.mxnet.Symbol],length:Option[org.apache.mxnet.Symbol],axis:Option[Int],temperature:Option[Double],dtype:Option[String],use_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="softmax(Option[Symbol],Option[Symbol],Option[Int],Option[Double],Option[String],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">softmax</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="length">length: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="temperature">temperature: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="use_length">use_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@softmax(data:Option[org.apache.mxnet.Symbol],length:Option[org.apache.mxnet.Symbol],axis:Option[Int],temperature:Option[Double],dtype:Option[String],use_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies the softmax function.

The resulting array contains elements in the range (<span class="num">0</span>,<span class="num">1</span>) and the elements along the given axis sum up to <span class="num">1.</span>

.. math::
   softmax(\mathbf{z/t})_j = \frac{e^{z_j/t}}{\sum_{k=<span class="num">1</span>}^K e^{z_k/t}}

<span class="kw">for</span> :math:`j = <span class="num">1</span>, ..., K`

t is the temperature parameter in softmax function. By default, t equals <span class="num">1.0</span>

Example::

  x = `[ [ <span class="num">1.</span>  <span class="num">1.</span>  <span class="num">1.</span>]
       [ <span class="num">1.</span>  <span class="num">1.</span>  <span class="num">1.</span>] ]

  softmax(x,axis=<span class="num">0</span>) = `[ [ <span class="num">0.5</span>  <span class="num">0.5</span>  <span class="num">0.5</span>]
                       [ <span class="num">0.5</span>  <span class="num">0.5</span>  <span class="num">0.5</span>] ]

  softmax(x,axis=<span class="num">1</span>) = `[ [ <span class="num">0.33333334</span>,  <span class="num">0.33333334</span>,  <span class="num">0.33333334</span>],
                       [ <span class="num">0.33333334</span>,  <span class="num">0.33333334</span>,  <span class="num">0.33333334</span>] ]



Defined in src/operator/nn/softmax.cc:L103</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">length</dt><dd class="cmt"><p>The length array.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis along which to compute softmax.</p></dd><dt class="param">temperature</dt><dd class="cmt"><p>Temperature parameter in softmax</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to the same as input's dtype if not defined (dtype=None).</p></dd><dt class="param">use_length</dt><dd class="cmt"><p>Whether to use the length input as a mask over the data input.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#softmax_cross_entropy" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="softmax_cross_entropy(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="softmax_cross_entropy(Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">softmax_cross_entropy</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="label">label: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@softmax_cross_entropy(data:Option[org.apache.mxnet.Symbol],label:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Calculate cross entropy of softmax output and one-hot label.

- This operator computes the cross entropy in two steps:
  - Applies softmax function on the input array.
  - Computes and returns the cross entropy loss between the softmax output and the labels.

- The softmax function and cross entropy loss is given by:

  - Softmax <span class="std">Function</span>:

  .. math:: \text{softmax}(x)_i = \frac{exp(x_i)}{\sum_j exp(x_j)}

  - Cross Entropy <span class="std">Function</span>:

  .. math:: \text{CE(label, output)} = - \sum_i \text{label}_i \log(\text{output}_i)

Example::

  x = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>],
       [<span class="num">11</span>, <span class="num">7</span>, <span class="num">5</span>] ]

  label = [<span class="num">2</span>, <span class="num">0</span>]

  softmax(x) = `[ [<span class="num">0.09003057</span>, <span class="num">0.24472848</span>, <span class="num">0.66524094</span>],
                [<span class="num">0.97962922</span>, <span class="num">0.01794253</span>, <span class="num">0.00242826</span>] ]

  softmax_cross_entropy(data, label) = - log(<span class="num">0.66524084</span>) - log(<span class="num">0.97962922</span>) = <span class="num">0.4281871</span>



Defined in src/operator/loss_binary_op.cc:L59</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data</p></dd><dt class="param">label</dt><dd class="cmt"><p>Input label</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#softmin" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="softmin(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],temperature:Option[Double],dtype:Option[String],use_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="softmin(Option[Symbol],Option[Int],Option[Double],Option[String],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">softmin</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="temperature">temperature: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="use_length">use_length: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@softmin(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],temperature:Option[Double],dtype:Option[String],use_length:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Applies the softmin function.

The resulting array contains elements in the range (<span class="num">0</span>,<span class="num">1</span>) and the elements along the given axis sum
up to <span class="num">1.</span>

.. math::
   softmin(\mathbf{z/t})_j = \frac{e^{-z_j/t}}{\sum_{k=<span class="num">1</span>}^K e^{-z_k/t}}

<span class="kw">for</span> :math:`j = <span class="num">1</span>, ..., K`

t is the temperature parameter in softmax function. By default, t equals <span class="num">1.0</span>

Example::

  x = `[ [ <span class="num">1.</span>  <span class="num">2.</span>  <span class="num">3.</span>]
       [ <span class="num">3.</span>  <span class="num">2.</span>  <span class="num">1.</span>] ]

  softmin(x,axis=<span class="num">0</span>) = `[ [ <span class="num">0.88079703</span>,  <span class="num">0.5</span>,  <span class="num">0.11920292</span>],
                       [ <span class="num">0.11920292</span>,  <span class="num">0.5</span>,  <span class="num">0.88079703</span>] ]

  softmin(x,axis=<span class="num">1</span>) = `[ [ <span class="num">0.66524094</span>,  <span class="num">0.24472848</span>,  <span class="num">0.09003057</span>],
                       [ <span class="num">0.09003057</span>,  <span class="num">0.24472848</span>,  <span class="num">0.66524094</span>] ]



Defined in src/operator/nn/softmin.cc:L57</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis along which to compute softmax.</p></dd><dt class="param">temperature</dt><dd class="cmt"><p>Temperature parameter in softmax</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to the same as input's dtype if not defined (dtype=None).</p></dd><dt class="param">use_length</dt><dd class="cmt"><p>Whether to use the length input as a mask over the data input.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#softsign" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="softsign(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="softsign(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">softsign</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@softsign(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes softsign of x element-wise.

.. math::
   y = x / (<span class="num">1</span> + abs(x))

The storage <span class="kw">type</span> of ``softsign`` output is always dense



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L191</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sort" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sort(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],is_ascend:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sort(Option[Symbol],Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sort</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="is_ascend">is_ascend: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sort(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],is_ascend:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns a sorted copy of an input array along the given axis.

Examples::

  x = `[ [ <span class="num">1</span>, <span class="num">4</span>],
       [ <span class="num">3</span>, <span class="num">1</span>] ]

  <span class="cmt">// sorts along the last axis</span>
  sort(x) = `[ [ <span class="num">1.</span>,  <span class="num">4.</span>],
             [ <span class="num">1.</span>,  <span class="num">3.</span>] ]

  <span class="cmt">// flattens and then sorts</span>
  sort(x, axis=<span class="std">None</span>) = [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>]

  <span class="cmt">// sorts along the first axis</span>
  sort(x, axis=<span class="num">0</span>) = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>],
                     [ <span class="num">3.</span>,  <span class="num">4.</span>] ]

  <span class="cmt">// in a descend order</span>
  sort(x, is_ascend=<span class="num">0</span>) = `[ [ <span class="num">4.</span>,  <span class="num">1.</span>],
                          [ <span class="num">3.</span>,  <span class="num">1.</span>] ]



Defined in src/operator/tensor/ordering_op.cc:L132</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which to choose sort the input tensor. If not given, the flattened array is used. Default is -1.</p></dd><dt class="param">is_ascend</dt><dd class="cmt"><p>Whether to sort in ascending or descending order.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#space_to_depth" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="space_to_depth(data:Option[org.apache.mxnet.Symbol],block_size:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="space_to_depth(Option[Symbol],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">space_to_depth</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="block_size">block_size: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@space_to_depth(data:Option[org.apache.mxnet.Symbol],block_size:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Rearranges(permutes) blocks of spatial data into depth.
Similar to ONNX SpaceToDepth operator:
https:<span class="cmt">//github.com/onnx/onnx/blob/master/docs/Operators.md#SpaceToDepth</span>
The output is a <span class="kw">new</span> tensor where the values from height and width dimension are
moved to the depth dimension. The reverse of <span class="kw">this</span> operation is ``depth_to_space``.
.. math::
    \begin{gather*}
    x \prime = reshape(x, [N, C, H / block\_size, block\_size, W / block\_size, block\_size]) \\
    x \prime \prime = transpose(x \prime, [<span class="num">0</span>, <span class="num">3</span>, <span class="num">5</span>, <span class="num">1</span>, <span class="num">2</span>, <span class="num">4</span>]) \\
    y = reshape(x \prime \prime, [N, C * (block\_size ^ <span class="num">2</span>), H / block\_size, W / block\_size])
    \end{gather*}
where :math:`x` is an input tensor <span class="kw">with</span> default layout as :math:`[N, C, H, W]`: [batch, channels, height, width]
and :math:`y` is the output tensor of layout :math:`[N, C * (block\_size ^ <span class="num">2</span>), H / block\_size, W / block\_size]`
Example::
  x = `[ [`[ [<span class="num">0</span>, <span class="num">6</span>, <span class="num">1</span>, <span class="num">7</span>, <span class="num">2</span>, <span class="num">8</span>],
         [<span class="num">12</span>, <span class="num">18</span>, <span class="num">13</span>, <span class="num">19</span>, <span class="num">14</span>, <span class="num">20</span>],
         [<span class="num">3</span>, <span class="num">9</span>, <span class="num">4</span>, <span class="num">10</span>, <span class="num">5</span>, <span class="num">11</span>],
         [<span class="num">15</span>, <span class="num">21</span>, <span class="num">16</span>, <span class="num">22</span>, <span class="num">17</span>, <span class="num">23</span>] ] ] ]
  space_to_depth(x, <span class="num">2</span>) = `[ [`[ [<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>],
                            [<span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>] ],
                           `[ [<span class="num">6</span>, <span class="num">7</span>, <span class="num">8</span>],
                            [<span class="num">9</span>, <span class="num">10</span>, <span class="num">11</span>] ],
                           `[ [<span class="num">12</span>, <span class="num">13</span>, <span class="num">14</span>],
                            [<span class="num">15</span>, <span class="num">16</span>, <span class="num">17</span>] ],
                           `[ [<span class="num">18</span>, <span class="num">19</span>, <span class="num">20</span>],
                            [<span class="num">21</span>, <span class="num">22</span>, <span class="num">23</span>] ] ] ]


Defined in src/operator/tensor/matrix_op.cc:L1019</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input ndarray</p></dd><dt class="param">block_size</dt><dd class="cmt"><p>Blocks of [block_size. block_size] are moved</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#split" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="split(data:Option[org.apache.mxnet.Symbol],num_outputs:Int,axis:Option[Int],squeeze_axis:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="split(Option[Symbol],Int,Option[Int],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">split</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="num_outputs">num_outputs: <span class="extype" name="scala.Int">Int</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="squeeze_axis">squeeze_axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@split(data:Option[org.apache.mxnet.Symbol],num_outputs:Int,axis:Option[Int],squeeze_axis:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Splits an array along a particular axis into multiple sub-arrays.

.. note:: ``SliceChannel`` is deprecated. Use ``split`` instead.

**Note** that `num_outputs` should evenly divide the length of the axis
along which to split the array.

Example::

   x  = `[ `[ [ <span class="num">1.</span>]
          [ <span class="num">2.</span>] ]
         `[ [ <span class="num">3.</span>]
          [ <span class="num">4.</span>] ]
         `[ [ <span class="num">5.</span>]
          [ <span class="num">6.</span>] ] ]
   x.shape = (<span class="num">3</span>, <span class="num">2</span>, <span class="num">1</span>)

   y = split(x, axis=<span class="num">1</span>, num_outputs=<span class="num">2</span>) <span class="cmt">// a list of 2 arrays with shape (3, 1, 1)</span>
   y = `[ `[ [ <span class="num">1.</span>] ]
        `[ [ <span class="num">3.</span>] ]
        `[ [ <span class="num">5.</span>] ] ]

       `[ `[ [ <span class="num">2.</span>] ]
        `[ [ <span class="num">4.</span>] ]
        `[ [ <span class="num">6.</span>] ] ]

   y[<span class="num">0</span>].shape = (<span class="num">3</span>, <span class="num">1</span>, <span class="num">1</span>)

   z = split(x, axis=<span class="num">0</span>, num_outputs=<span class="num">3</span>) <span class="cmt">// a list of 3 arrays with shape (1, 2, 1)</span>
   z = `[ `[ [ <span class="num">1.</span>]
         [ <span class="num">2.</span>] ] ]

       `[ `[ [ <span class="num">3.</span>]
         [ <span class="num">4.</span>] ] ]

       `[ `[ [ <span class="num">5.</span>]
         [ <span class="num">6.</span>] ] ]

   z[<span class="num">0</span>].shape = (<span class="num">1</span>, <span class="num">2</span>, <span class="num">1</span>)

`squeeze_axis=<span class="num">1</span>` removes the axis <span class="kw">with</span> length <span class="num">1</span> from the shapes of the output arrays.
**Note** that setting `squeeze_axis` to ``<span class="num">1</span>`` removes axis <span class="kw">with</span> length <span class="num">1</span> only
along the `axis` which it is split.
Also `squeeze_axis` can be set to <span class="kw">true</span> only <span class="kw">if</span> ``input.shape[axis] == num_outputs``.

Example::

   z = split(x, axis=<span class="num">0</span>, num_outputs=<span class="num">3</span>, squeeze_axis=<span class="num">1</span>) <span class="cmt">// a list of 3 arrays with shape (2, 1)</span>
   z = `[ [ <span class="num">1.</span>]
        [ <span class="num">2.</span>] ]

       `[ [ <span class="num">3.</span>]
        [ <span class="num">4.</span>] ]

       `[ [ <span class="num">5.</span>]
        [ <span class="num">6.</span>] ]
   z[<span class="num">0</span>].shape = (<span class="num">2</span> ,<span class="num">1</span> )



Defined in src/operator/slice_channel.cc:L107</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">num_outputs</dt><dd class="cmt"><p>Number of splits. Note that this should evenly divide the length of the <code>axis</code>.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which to split.</p></dd><dt class="param">squeeze_axis</dt><dd class="cmt"><p>If true, Removes the axis with length 1 from the shapes of the output arrays. **Note** that setting <code>squeeze_axis</code> to <code><code>true</code></code> removes axis with length 1 only along the <code>axis</code> which it is split. Also <code>squeeze_axis</code> can be set to <code><code>true</code></code> only if <code><code>input.shape[axis] == num_outputs</code></code>.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sqrt" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sqrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sqrt(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sqrt</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sqrt(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise square-root value of the input.

.. math::
   \textrm{sqrt}(x) = \sqrt{x}

Example::

   sqrt([<span class="num">4</span>, <span class="num">9</span>, <span class="num">16</span>]) = [<span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>]

The storage <span class="kw">type</span> of ``sqrt`` output depends upon the input storage <span class="kw">type</span>:

   - sqrt(default) = default
   - sqrt(row_sparse) = row_sparse
   - sqrt(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_pow.cc:L142</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#square" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="square(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="square(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">square</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@square(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns element-wise squared value of the input.

.. math::
   square(x) = x^<span class="num">2</span>

Example::

   square([<span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>]) = [<span class="num">4</span>, <span class="num">9</span>, <span class="num">16</span>]

The storage <span class="kw">type</span> of ``square`` output depends upon the input storage <span class="kw">type</span>:

   - square(default) = default
   - square(row_sparse) = row_sparse
   - square(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_pow.cc:L118</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#squeeze" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="squeeze(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="squeeze(Option[Symbol],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">squeeze</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@squeeze(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Remove single-dimensional entries from the shape of an array.
Same behavior of defining the output tensor shape as numpy.squeeze <span class="kw">for</span> the most of cases.
See the following note <span class="kw">for</span> exception.
Examples::
  data = `[ `[ [<span class="num">0</span>], [<span class="num">1</span>], [<span class="num">2</span>] ] ]
  squeeze(data) = [<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>]
  squeeze(data, axis=<span class="num">0</span>) = `[ [<span class="num">0</span>], [<span class="num">1</span>], [<span class="num">2</span>] ]
  squeeze(data, axis=<span class="num">2</span>) = `[ [<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>] ]
  squeeze(data, axis=(<span class="num">0</span>, <span class="num">2</span>)) = [<span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>]
.. Note::
  The output of <span class="kw">this</span> operator will keep at least one dimension not removed. For example,
  squeeze(`[ `[ [<span class="num">4</span>] ] ]) = [<span class="num">4</span>], <span class="kw">while</span> in numpy.squeeze, the output will become a scalar.</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>data to squeeze</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Selects a subset of the single-dimensional entries in the shape. If an axis is selected with shape entry greater than one, an error is raised.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#stack" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="stack(data:Array[org.apache.mxnet.Symbol],axis:Option[Int],num_args:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="stack(Array[Symbol],Option[Int],Int,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">stack</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Array">Array</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>]</span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="num_args">num_args: <span class="extype" name="scala.Int">Int</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@stack(data:Array[org.apache.mxnet.Symbol],axis:Option[Int],num_args:Int,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Join a sequence of arrays along a <span class="kw">new</span> axis.
The axis parameter specifies the index of the <span class="kw">new</span> axis in the dimensions of the
result. For example, <span class="kw">if</span> axis=<span class="num">0</span> it will be the first dimension and <span class="kw">if</span> axis=-<span class="num">1</span> it
will be the last dimension.
Examples::
  x = [<span class="num">1</span>, <span class="num">2</span>]
  y = [<span class="num">3</span>, <span class="num">4</span>]
  stack(x, y) = `[ [<span class="num">1</span>, <span class="num">2</span>],
                 [<span class="num">3</span>, <span class="num">4</span>] ]
  stack(x, y, axis=<span class="num">1</span>) = `[ [<span class="num">1</span>, <span class="num">3</span>],
                         [<span class="num">2</span>, <span class="num">4</span>] ]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>List of arrays to stack</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis in the result array along which the input arrays are stacked.</p></dd><dt class="param">num_args</dt><dd class="cmt"><p>Number of inputs to be stacked.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#stop_gradient" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="stop_gradient(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="stop_gradient(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">stop_gradient</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@stop_gradient(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Stops gradient computation.

Stops the accumulated gradient of the inputs from flowing through <span class="kw">this</span> operator
in the backward direction. In other words, <span class="kw">this</span> operator prevents the contribution
of its inputs to be taken into account <span class="kw">for</span> computing gradients.

Example::

  v1 = [<span class="num">1</span>, <span class="num">2</span>]
  v2 = [<span class="num">0</span>, <span class="num">1</span>]
  a = Variable(<span class="lit">'a'</span>)
  b = Variable(<span class="lit">'b'</span>)
  b_stop_grad = stop_gradient(<span class="num">3</span> * b)
  loss = MakeLoss(b_stop_grad + a)

  executor = loss.simple_bind(ctx=cpu(), a=(<span class="num">1</span>,<span class="num">2</span>), b=(<span class="num">1</span>,<span class="num">2</span>))
  executor.forward(is_train=True, a=v1, b=v2)
  executor.outputs
  [ <span class="num">1.</span>  <span class="num">5.</span>]

  executor.backward()
  executor.grad_arrays
  [ <span class="num">0.</span>  <span class="num">0.</span>]
  [ <span class="num">1.</span>  <span class="num">1.</span>]



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L327</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sum" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sum(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sum(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sum</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sum(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the sum of array elements over given axes.

.. Note::

  `sum` and `sum_axis` are equivalent.
  For ndarray of csr storage <span class="kw">type</span> summation along axis <span class="num">0</span> and axis <span class="num">1</span> is supported.
  Setting keepdims or exclude to True will cause a fallback to dense operator.

Example::

  data = `[ `[ [<span class="num">1</span>, <span class="num">2</span>], [<span class="num">2</span>, <span class="num">3</span>], [<span class="num">1</span>, <span class="num">3</span>] ],
          `[ [<span class="num">1</span>, <span class="num">4</span>], [<span class="num">4</span>, <span class="num">3</span>], [<span class="num">5</span>, <span class="num">2</span>] ],
          `[ [<span class="num">7</span>, <span class="num">1</span>], [<span class="num">7</span>, <span class="num">2</span>], [<span class="num">7</span>, <span class="num">3</span>] ] ]

  sum(data, axis=<span class="num">1</span>)
  `[ [  <span class="num">4.</span>   <span class="num">8.</span>]
   [ <span class="num">10.</span>   <span class="num">9.</span>]
   [ <span class="num">21.</span>   <span class="num">6.</span>] ]

  sum(data, axis=[<span class="num">1</span>,<span class="num">2</span>])
  [ <span class="num">12.</span>  <span class="num">19.</span>  <span class="num">27.</span>]

  data = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">0</span>],
          [<span class="num">3</span>, <span class="num">0</span>, <span class="num">1</span>],
          [<span class="num">4</span>, <span class="num">1</span>, <span class="num">0</span>] ]

  csr = cast_storage(data, <span class="lit">'csr'</span>)

  sum(csr, axis=<span class="num">0</span>)
  [ <span class="num">8.</span>  <span class="num">3.</span>  <span class="num">1.</span>]

  sum(csr, axis=<span class="num">1</span>)
  [ <span class="num">3.</span>  <span class="num">4.</span>  <span class="num">5.</span>]



Defined in src/operator/tensor/broadcast_reduce_sum_value.cc:L67</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#sum_axis" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="sum_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="sum_axis(Option[Symbol],Option[Shape],Option[Boolean],Option[Boolean],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">sum_axis</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="keepdims">keepdims: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="exclude">exclude: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@sum_axis(data:Option[org.apache.mxnet.Symbol],axis:Option[org.apache.mxnet.Shape],keepdims:Option[Boolean],exclude:Option[Boolean],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the sum of array elements over given axes.

.. Note::

  `sum` and `sum_axis` are equivalent.
  For ndarray of csr storage <span class="kw">type</span> summation along axis <span class="num">0</span> and axis <span class="num">1</span> is supported.
  Setting keepdims or exclude to True will cause a fallback to dense operator.

Example::

  data = `[ `[ [<span class="num">1</span>, <span class="num">2</span>], [<span class="num">2</span>, <span class="num">3</span>], [<span class="num">1</span>, <span class="num">3</span>] ],
          `[ [<span class="num">1</span>, <span class="num">4</span>], [<span class="num">4</span>, <span class="num">3</span>], [<span class="num">5</span>, <span class="num">2</span>] ],
          `[ [<span class="num">7</span>, <span class="num">1</span>], [<span class="num">7</span>, <span class="num">2</span>], [<span class="num">7</span>, <span class="num">3</span>] ] ]

  sum(data, axis=<span class="num">1</span>)
  `[ [  <span class="num">4.</span>   <span class="num">8.</span>]
   [ <span class="num">10.</span>   <span class="num">9.</span>]
   [ <span class="num">21.</span>   <span class="num">6.</span>] ]

  sum(data, axis=[<span class="num">1</span>,<span class="num">2</span>])
  [ <span class="num">12.</span>  <span class="num">19.</span>  <span class="num">27.</span>]

  data = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">0</span>],
          [<span class="num">3</span>, <span class="num">0</span>, <span class="num">1</span>],
          [<span class="num">4</span>, <span class="num">1</span>, <span class="num">0</span>] ]

  csr = cast_storage(data, <span class="lit">'csr'</span>)

  sum(csr, axis=<span class="num">0</span>)
  [ <span class="num">8.</span>  <span class="num">3.</span>  <span class="num">1.</span>]

  sum(csr, axis=<span class="num">1</span>)
  [ <span class="num">3.</span>  <span class="num">4.</span>  <span class="num">5.</span>]



Defined in src/operator/tensor/broadcast_reduce_sum_value.cc:L67</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis or axes along which to perform the reduction.</p><p>      The default, <code>axis=()</code>, will compute over all elements into a
      scalar array with shape <code>(1,)</code>.</p><p>      If <code>axis</code> is int, a reduction is performed on a particular axis.</p><p>      If <code>axis</code> is a tuple of ints, a reduction is performed on all the axes
      specified in the tuple.</p><p>      If <code>exclude</code> is true, reduction will be performed on the axes that are
      NOT in axis instead.</p><p>      Negative values means indexing from right to left.</p></dd><dt class="param">keepdims</dt><dd class="cmt"><p>If this is set to <code>True</code>, the reduced axes are left in the result as dimension with size one.</p></dd><dt class="param">exclude</dt><dd class="cmt"><p>Whether to perform reduction on axis that are NOT in axis instead.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#swapaxes" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="swapaxes(data:Option[org.apache.mxnet.Symbol],dim1:Option[Int],dim2:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="swapaxes(Option[Symbol],Option[Int],Option[Int],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">swapaxes</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="dim1">dim1: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="dim2">dim2: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@swapaxes(data:Option[org.apache.mxnet.Symbol],dim1:Option[Int],dim2:Option[Int],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Interchanges two axes of an array.

Examples::

  x = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ])
  swapaxes(x, <span class="num">0</span>, <span class="num">1</span>) = `[ [ <span class="num">1</span>],
                       [ <span class="num">2</span>],
                       [ <span class="num">3</span>] ]

  x = `[ `[ [ <span class="num">0</span>, <span class="num">1</span>],
        [ <span class="num">2</span>, <span class="num">3</span>] ],
       `[ [ <span class="num">4</span>, <span class="num">5</span>],
        [ <span class="num">6</span>, <span class="num">7</span>] ] ]  <span class="cmt">// (2,2,2) array</span>

 swapaxes(x, <span class="num">0</span>, <span class="num">2</span>) = `[ `[ [ <span class="num">0</span>, <span class="num">4</span>],
                       [ <span class="num">2</span>, <span class="num">6</span>] ],
                      `[ [ <span class="num">1</span>, <span class="num">5</span>],
                       [ <span class="num">3</span>, <span class="num">7</span>] ] ]


Defined in src/operator/swapaxis.cc:L70</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input array.</p></dd><dt class="param">dim1</dt><dd class="cmt"><p>the first axis to be swapped.</p></dd><dt class="param">dim2</dt><dd class="cmt"><p>the second axis to be swapped.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#take" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="take(a:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],axis:Option[Int],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="take(Option[Symbol],Option[Symbol],Option[Int],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">take</span><span class="params">(<span name="a">a: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="indices">indices: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="mode">mode: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@take(a:Option[org.apache.mxnet.Symbol],indices:Option[org.apache.mxnet.Symbol],axis:Option[Int],mode:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Takes elements from an input array along the given axis.

This function slices the input array along a particular axis <span class="kw">with</span> the provided indices.

Given data tensor of rank r &gt;= <span class="num">1</span>, and indices tensor of rank q, gather entries of the axis
dimension of data (by default outer-most one as axis=<span class="num">0</span>) indexed by indices, and concatenates them
in an output tensor of rank q + (r - <span class="num">1</span>).

Examples::

  x = [<span class="num">4.</span>  <span class="num">5.</span>  <span class="num">6.</span>]

  <span class="cmt">// Trivial case, take the second element along the first axis.</span>

  take(x, [<span class="num">1</span>]) = [ <span class="num">5.</span> ]

  <span class="cmt">// The other trivial case, axis=-1, take the third element along the first axis</span>

  take(x, [<span class="num">3</span>], axis=-<span class="num">1</span>, mode=<span class="lit">'clip'</span>) = [ <span class="num">6.</span> ]

  x = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
       [ <span class="num">3.</span>,  <span class="num">4.</span>],
       [ <span class="num">5.</span>,  <span class="num">6.</span>] ]

  <span class="cmt">// In this case we will get rows 0 and 1, then 1 and 2. Along axis 0</span>

  take(x, `[ [<span class="num">0</span>,<span class="num">1</span>],[<span class="num">1</span>,<span class="num">2</span>] ]) = `[ `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
                             [ <span class="num">3.</span>,  <span class="num">4.</span>] ],

                            `[ [ <span class="num">3.</span>,  <span class="num">4.</span>],
                             [ <span class="num">5.</span>,  <span class="num">6.</span>] ] ]

  <span class="cmt">// In this case we will get rows 0 and 1, then 1 and 2 (calculated by wrapping around).</span>
  <span class="cmt">// Along axis 1</span>

  take(x, `[ [<span class="num">0</span>, <span class="num">3</span>], [-<span class="num">1</span>, -<span class="num">2</span>] ], axis=<span class="num">1</span>, mode=<span class="lit">'wrap'</span>) = `[ `[ [ <span class="num">1.</span>  <span class="num">2.</span>]
                                                       [ <span class="num">2.</span>  <span class="num">1.</span>] ]

                                                      `[ [ <span class="num">3.</span>  <span class="num">4.</span>]
                                                       [ <span class="num">4.</span>  <span class="num">3.</span>] ]

                                                      `[ [ <span class="num">5.</span>  <span class="num">6.</span>]
                                                       [ <span class="num">6.</span>  <span class="num">5.</span>] ] ]

The storage <span class="kw">type</span> of ``take`` output depends upon the input storage <span class="kw">type</span>:

   - take(default, default) = default
   - take(csr, default, axis=<span class="num">0</span>) = csr



Defined in src/operator/tensor/indexing_op.cc:L718</pre></div><dl class="paramcmts block"><dt class="param">a</dt><dd class="cmt"><p>The input array.</p></dd><dt class="param">indices</dt><dd class="cmt"><p>The indices of the values to be extracted.</p></dd><dt class="param">axis</dt><dd class="cmt"><p>The axis of input array to be taken.For input tensor of rank r, it could be in the range of [-r, r-1]</p></dd><dt class="param">mode</dt><dd class="cmt"><p>Specify how out-of-bound indices bahave. Default is &quot;clip&quot;. &quot;clip&quot; means clip to the range. So, if all indices mentioned are too large, they are replaced by the index that addresses the last element along an axis. &quot;wrap&quot; means to wrap around. &quot;raise&quot; means to raise an error when index out of range.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#tan" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="tan(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="tan(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">tan</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@tan(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the element-wise tangent of the input array.

The input should be in radians (:math:`<span class="num">2</span>\pi` rad equals <span class="num">360</span> degrees).

.. math::
   tan([<span class="num">0</span>, \pi/<span class="num">4</span>, \pi/<span class="num">2</span>]) = [<span class="num">0</span>, <span class="num">1</span>, -inf]

The storage <span class="kw">type</span> of ``tan`` output depends upon the input storage <span class="kw">type</span>:

   - tan(default) = default
   - tan(row_sparse) = row_sparse
   - tan(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L140</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#tanh" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="tanh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="tanh(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">tanh</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@tanh(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the hyperbolic tangent of the input array, computed element-wise.

.. math::
   tanh(x) = sinh(x) / cosh(x)

The storage <span class="kw">type</span> of ``tanh`` output depends upon the input storage <span class="kw">type</span>:

   - tanh(default) = default
   - tanh(row_sparse) = row_sparse
   - tanh(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_trig.cc:L393</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#tile" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="tile(data:Option[org.apache.mxnet.Symbol],reps:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="tile(Option[Symbol],Shape,String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">tile</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="reps">reps: <a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@tile(data:Option[org.apache.mxnet.Symbol],reps:org.apache.mxnet.Shape,name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Repeats the whole array multiple times.
If ``reps`` has length *d*, and input array has dimension of *n*. There are
three cases:
- **n=d**. Repeat *i*-th dimension of the input by ``reps[i]`` times::
    x = `[ [<span class="num">1</span>, <span class="num">2</span>],
         [<span class="num">3</span>, <span class="num">4</span>] ]
    tile(x, reps=(<span class="num">2</span>,<span class="num">3</span>)) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                           [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
                           [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                           [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>] ]
- **n&gt;d**. ``reps`` is promoted to length *n* by pre-pending <span class="num">1</span>'s to it. Thus <span class="kw">for</span>
  an input shape ``(<span class="num">2</span>,<span class="num">3</span>)``, ``repos=(<span class="num">2</span>,)`` is treated as ``(<span class="num">1</span>,<span class="num">2</span>)``::
    tile(x, reps=(<span class="num">2</span>,)) = `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                          [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>] ]
- **n&lt;d**. The input is promoted to be d-dimensional by prepending <span class="kw">new</span> axes. So a
  shape ``(<span class="num">2</span>,<span class="num">2</span>)`` array is promoted to ``(<span class="num">1</span>,<span class="num">2</span>,<span class="num">2</span>)`` <span class="kw">for</span> <span class="num">3</span>-D replication::
    tile(x, reps=(<span class="num">2</span>,<span class="num">2</span>,<span class="num">3</span>)) = `[ `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                              [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
                              [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                              [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>] ],
                             `[ [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                              [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>],
                              [ <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>],
                              [ <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>,  <span class="num">3.</span>,  <span class="num">4.</span>] ] ]


Defined in src/operator/tensor/matrix_op.cc:L796</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Input data array</p></dd><dt class="param">reps</dt><dd class="cmt"><p>The number of times for repeating the tensor a. Each dim size of reps must be a positive integer. If reps has length d, the result will have dimension of max(d, a.ndim); If a.ndim &lt; d, a is promoted to be d-dimensional by prepending new axes. If a.ndim &gt; d, reps is promoted to a.ndim by pre-pending 1's to it.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#topk" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="topk(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],k:Option[Int],ret_typ:Option[String],is_ascend:Option[Boolean],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="topk(Option[Symbol],Option[Int],Option[Int],Option[String],Option[Boolean],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">topk</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axis">axis: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="k">k: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Int">Int</span>] = <span class="symbol">None</span></span>, <span name="ret_typ">ret_typ: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="is_ascend">is_ascend: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@topk(data:Option[org.apache.mxnet.Symbol],axis:Option[Int],k:Option[Int],ret_typ:Option[String],is_ascend:Option[Boolean],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Returns the indices of the top *k* elements in an input array along the given
 axis (by default).
 If ret_type is set to <span class="lit">'value'</span> returns the value of top *k* elements (instead of indices).
 In <span class="kw">case</span> of ret_type = <span class="lit">'both'</span>, both value and index would be returned.
 The returned elements will be sorted.

Examples::

  x = `[ [ <span class="num">0.3</span>,  <span class="num">0.2</span>,  <span class="num">0.4</span>],
       [ <span class="num">0.1</span>,  <span class="num">0.3</span>,  <span class="num">0.2</span>] ]

  <span class="cmt">// returns an index of the largest element on last axis</span>
  topk(x) = `[ [ <span class="num">2.</span>],
             [ <span class="num">1.</span>] ]

  <span class="cmt">// returns the value of top-2 largest elements on last axis</span>
  topk(x, ret_typ=<span class="lit">'value'</span>, k=<span class="num">2</span>) = `[ [ <span class="num">0.4</span>,  <span class="num">0.3</span>],
                                   [ <span class="num">0.3</span>,  <span class="num">0.2</span>] ]

  <span class="cmt">// returns the value of top-2 smallest elements on last axis</span>
  topk(x, ret_typ=<span class="lit">'value'</span>, k=<span class="num">2</span>, is_ascend=<span class="num">1</span>) = `[ [ <span class="num">0.2</span> ,  <span class="num">0.3</span>],
                                               [ <span class="num">0.1</span> ,  <span class="num">0.2</span>] ]

  <span class="cmt">// returns the value of top-2 largest elements on axis 0</span>
  topk(x, axis=<span class="num">0</span>, ret_typ=<span class="lit">'value'</span>, k=<span class="num">2</span>) = `[ [ <span class="num">0.3</span>,  <span class="num">0.3</span>,  <span class="num">0.4</span>],
                                           [ <span class="num">0.1</span>,  <span class="num">0.2</span>,  <span class="num">0.2</span>] ]

  <span class="cmt">// flattens and then returns list of both values and indices</span>
  topk(x, ret_typ=<span class="lit">'both'</span>, k=<span class="num">2</span>) = `[ `[ [ <span class="num">0.4</span>,  <span class="num">0.3</span>], [ <span class="num">0.3</span>,  <span class="num">0.2</span>] ] ,  `[ [ <span class="num">2.</span>,  <span class="num">0.</span>], [ <span class="num">1.</span>,  <span class="num">2.</span>] ] ]



Defined in src/operator/tensor/ordering_op.cc:L68</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array</p></dd><dt class="param">axis</dt><dd class="cmt"><p>Axis along which to choose the top k indices. If not given, the flattened array is used. Default is -1.</p></dd><dt class="param">k</dt><dd class="cmt"><p>Number of top elements to select, should be always smaller than or equal to the element number in the given axis. A global sort is performed if set k &lt; 1.</p></dd><dt class="param">ret_typ</dt><dd class="cmt"><p>The return type.
 &quot;value&quot; means to return the top k values, &quot;indices&quot; means to return the indices of the top k values, &quot;mask&quot; means to return a mask array containing 0 and 1. 1 means the top k values. &quot;both&quot; means to return a list of both values and indices of top k elements.</p></dd><dt class="param">is_ascend</dt><dd class="cmt"><p>Whether to choose k largest or k smallest elements. Top K largest elements will be chosen if set to false.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output indices when ret_typ is &quot;indices&quot; or &quot;both&quot;. An error will be raised if the selected data type cannot precisely represent the indices.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#transpose" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="transpose(data:Option[org.apache.mxnet.Symbol],axes:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="transpose(Option[Symbol],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">transpose</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="axes">axes: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@transpose(data:Option[org.apache.mxnet.Symbol],axes:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Permutes the dimensions of an array.
Examples::
  x = `[ [ <span class="num">1</span>, <span class="num">2</span>],
       [ <span class="num">3</span>, <span class="num">4</span>] ]
  transpose(x) = `[ [ <span class="num">1.</span>,  <span class="num">3.</span>],
                  [ <span class="num">2.</span>,  <span class="num">4.</span>] ]
  x = `[ `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
        [ <span class="num">3.</span>,  <span class="num">4.</span>] ],
       `[ [ <span class="num">5.</span>,  <span class="num">6.</span>],
        [ <span class="num">7.</span>,  <span class="num">8.</span>] ] ]
  transpose(x) = `[ `[ [ <span class="num">1.</span>,  <span class="num">5.</span>],
                   [ <span class="num">3.</span>,  <span class="num">7.</span>] ],
                  `[ [ <span class="num">2.</span>,  <span class="num">6.</span>],
                   [ <span class="num">4.</span>,  <span class="num">8.</span>] ] ]
  transpose(x, axes=(<span class="num">1</span>,<span class="num">0</span>,<span class="num">2</span>)) = `[ `[ [ <span class="num">1.</span>,  <span class="num">2.</span>],
                                 [ <span class="num">5.</span>,  <span class="num">6.</span>] ],
                                `[ [ <span class="num">3.</span>,  <span class="num">4.</span>],
                                 [ <span class="num">7.</span>,  <span class="num">8.</span>] ] ]


Defined in src/operator/tensor/matrix_op.cc:L328</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Source input</p></dd><dt class="param">axes</dt><dd class="cmt"><p>Target axis order. By default the axes will be inverted.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#trunc" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="trunc(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="trunc(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">trunc</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@trunc(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>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([-<span class="num">2.1</span>, -<span class="num">1.9</span>, <span class="num">1.5</span>, <span class="num">1.9</span>, <span class="num">2.1</span>]) = [-<span class="num">2.</span>, -<span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">2.</span>]

The storage <span class="kw">type</span> of ``trunc`` output depends upon the input storage <span class="kw">type</span>:

   - trunc(default) = default
   - trunc(row_sparse) = row_sparse
   - trunc(csr) = csr



Defined in src/operator/tensor/elemwise_unary_op_basic.cc:L857</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input array.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#uniform" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="uniform(low:Option[Float],high:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="uniform(Option[Float],Option[Float],Option[Shape],Option[String],Option[String],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">uniform</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Float">Float</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@uniform(low:Option[Float],high:Option[Float],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a uniform distribution.

.. note:: The existing alias ``uniform`` is deprecated.

Samples are uniformly distributed over the half-open interval *[low, high)*
(includes *low*, but excludes *high*).

Example::

   uniform(low=<span class="num">0</span>, high=<span class="num">1</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.60276335</span>,  <span class="num">0.85794562</span>],
                                          [ <span class="num">0.54488319</span>,  <span class="num">0.84725171</span>] ]



Defined in src/operator/random/sample_op.cc:L96</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bound of the distribution.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bound of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#unravel_index" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="unravel_index(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="unravel_index(Option[Symbol],Option[Shape],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">unravel_index</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@unravel_index(data:Option[org.apache.mxnet.Symbol],shape:Option[org.apache.mxnet.Shape],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Converts an array of flat indices into a batch of index arrays. The operator follows numpy conventions so a single multi index is given by a column of the output matrix. The leading dimension may be left unspecified by using -<span class="num">1</span> as placeholder.

Examples::

   A = [<span class="num">22</span>,<span class="num">41</span>,<span class="num">37</span>]
   unravel(A, shape=(<span class="num">7</span>,<span class="num">6</span>)) = `[ [<span class="num">3</span>,<span class="num">6</span>,<span class="num">6</span>],[<span class="num">4</span>,<span class="num">5</span>,<span class="num">1</span>] ]
   unravel(A, shape=(-<span class="num">1</span>,<span class="num">6</span>)) = `[ [<span class="num">3</span>,<span class="num">6</span>,<span class="num">6</span>],[<span class="num">4</span>,<span class="num">5</span>,<span class="num">1</span>] ]



Defined in src/operator/tensor/ravel.cc:L68</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Array of flat indices</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the array into which the multi-indices apply.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#where" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="where(condition:Option[org.apache.mxnet.Symbol],x:Option[org.apache.mxnet.Symbol],y:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="where(Option[Symbol],Option[Symbol],Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">where</span><span class="params">(<span name="condition">condition: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="x">x: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="y">y: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@where(condition:Option[org.apache.mxnet.Symbol],x:Option[org.apache.mxnet.Symbol],y:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Return the elements, either from x or y, depending on the condition.

Given three ndarrays, condition, x, and y, <span class="kw">return</span> an ndarray <span class="kw">with</span> the elements from x or y,
depending on the elements from condition are <span class="kw">true</span> or <span class="kw">false</span>. x and y must have the same shape.
If condition has the same shape as x, each element in the output array is from x <span class="kw">if</span> the
corresponding element in the condition is <span class="kw">true</span>, and from y <span class="kw">if</span> <span class="kw">false</span>.

If condition does not have the same shape as x, it must be a <span class="num">1</span>D array whose size is
the same as x's first dimension size. Each row of the output array is from x's row
<span class="kw">if</span> the corresponding element from condition is <span class="kw">true</span>, and from y's row <span class="kw">if</span> <span class="kw">false</span>.

Note that all non-zero values are interpreted as ``True`` in condition.

Examples::

  x = `[ [<span class="num">1</span>, <span class="num">2</span>], [<span class="num">3</span>, <span class="num">4</span>] ]
  y = `[ [<span class="num">5</span>, <span class="num">6</span>], [<span class="num">7</span>, <span class="num">8</span>] ]
  cond = `[ [<span class="num">0</span>, <span class="num">1</span>], [-<span class="num">1</span>, <span class="num">0</span>] ]

  where(cond, x, y) = `[ [<span class="num">5</span>, <span class="num">2</span>], [<span class="num">3</span>, <span class="num">8</span>] ]

  csr_cond = cast_storage(cond, <span class="lit">'csr'</span>)

  where(csr_cond, x, y) = `[ [<span class="num">5</span>, <span class="num">2</span>], [<span class="num">3</span>, <span class="num">8</span>] ]



Defined in src/operator/tensor/control_flow_op.cc:L57</pre></div><dl class="paramcmts block"><dt class="param">condition</dt><dd class="cmt"><p>condition array</p></dd><dt class="param">x</dt><dd class="cmt"></dd><dt class="param">y</dt><dd class="cmt"></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPIBase#zeros_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="zeros_like(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="zeros_like(Option[Symbol],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">zeros_like</span><span class="params">(<span name="data">data: <span class="extype" name="scala.Option">Option</span>[<a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a>] = <span class="symbol">None</span></span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@zeros_like(data:Option[org.apache.mxnet.Symbol],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Return an array of zeros <span class="kw">with</span> the same shape, <span class="kw">type</span> and storage <span class="kw">type</span>
as the input array.

The storage <span class="kw">type</span> of ``zeros_like`` output depends on the storage <span class="kw">type</span> of the input

- zeros_like(row_sparse) = row_sparse
- zeros_like(csr) = csr
- zeros_like(default) = default

Examples::

  x = `[ [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>],
       [ <span class="num">1.</span>,  <span class="num">1.</span>,  <span class="num">1.</span>] ]

  zeros_like(x) = `[ [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>],
                   [ <span class="num">0.</span>,  <span class="num">0.</span>,  <span class="num">0.</span>] ]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.Symbol
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></dd><dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        <div id="values" class="values members">
              <h3>Concrete Value Members</h3>
              <ol><li name="scala.AnyRef#!=" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="!=(x$1:Any):Boolean"></a>
      <a id="!=(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@!=(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef###" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="##():Int"></a>
      <a id="##():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@##():Int" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#==" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="==(x$1:Any):Boolean"></a>
      <a id="==(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@==(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="org.apache.mxnet.SymbolAPI#Custom" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="Custom(op_type:String,kwargs:scala.collection.mutable.Map[String,Any],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol"></a>
      <a id="Custom(String,Map[String,Any],String,Map[String,String]):Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">Custom</span><span class="params">(<span name="op_type">op_type: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="kwargs">kwargs: <span class="extype" name="scala.collection.mutable.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Any">Any</span>]</span>, <span name="name">name: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">null</span></span>, <span name="attr">attr: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">null</span></span>)</span><span class="result">: <a href="Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@Custom(op_type:String,kwargs:scala.collection.mutable.Map[String,Any],name:String,attr:Map[String,String]):org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="scala.Any#asInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="asInstanceOf[T0]:T0"></a>
      <a id="asInstanceOf[T0]:T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@asInstanceOf[T0]:T0" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#clone" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="clone():Object"></a>
      <a id="clone():AnyRef"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@clone():Object" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#eq" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="eq(x$1:AnyRef):Boolean"></a>
      <a id="eq(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@eq(x$1:AnyRef):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#equals" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="equals(x$1:Any):Boolean"></a>
      <a id="equals(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@equals(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#finalize" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="finalize():Unit"></a>
      <a id="finalize():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">finalize</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@finalize():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="symbol">classOf[java.lang.Throwable]</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#getClass" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getClass():Class[_]"></a>
      <a id="getClass():Class[_]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@getClass():Class[_]" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#hashCode" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="hashCode():Int"></a>
      <a id="hashCode():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@hashCode():Int" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#isInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <a id="isInstanceOf[T0]:Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@isInstanceOf[T0]:Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#ne" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ne(x$1:AnyRef):Boolean"></a>
      <a id="ne(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@ne(x$1:AnyRef):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#notify" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notify():Unit"></a>
      <a id="notify():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notify</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@notify():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#notifyAll" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notifyAll():Unit"></a>
      <a id="notifyAll():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@notifyAll():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#synchronized" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="synchronized[T0](x$1:=&gt;T0):T0"></a>
      <a id="synchronized[T0](⇒T0):T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@synchronized[T0](x$1:=&gt;T0):T0" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#toString" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="toString():String"></a>
      <a id="toString():String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@toString():String" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait():Unit"></a>
      <a id="wait():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@wait():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long,x$2:Int):Unit"></a>
      <a id="wait(Long,Int):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>, <span name="arg1">arg1: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@wait(x$1:Long,x$2:Int):Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long):Unit"></a>
      <a id="wait(Long):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPI$@wait(x$1:Long):Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="org.apache.mxnet.SymbolAPIBase">
              <h3>Inherited from <a href="SymbolAPIBase.html" class="extype" name="org.apache.mxnet.SymbolAPIBase">SymbolAPIBase</a></h3>
            </div><div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>