<!DOCTYPE html >
<html>
        <head>
          <title>SymbolAPIBase - MXNet - org.apache.mxnet.SymbolAPIBase</title>
          <meta name="description" content="SymbolAPIBase - MXNet - org.apache.mxnet.SymbolAPIBase" />
          <meta name="keywords" content="SymbolAPIBase MXNet org.apache.mxnet.SymbolAPIBase" />
          <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.SymbolAPIBase';
            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="type">
      <div id="definition">
        <img src="../../../lib/class_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>SymbolAPIBase</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.SymbolAPIBase" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <span class="name">SymbolAPIBase</span><span class="result"> extends <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div><div class="toggleContainer block">
            <span class="toggle">Known Subclasses</span>
            <div class="subClasses hiddenContent"><a href="SymbolAPI$.html" class="extype" name="org.apache.mxnet.SymbolAPI">SymbolAPI</a></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.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="constructors" class="members">
              <h3>Instance Constructors</h3>
              <ol><li name="org.apache.mxnet.SymbolAPIBase#&lt;init&gt;" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="&lt;init&gt;():org.apache.mxnet.SymbolAPIBase"></a>
      <a id="&lt;init&gt;:SymbolAPIBase"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">new</span>
      </span>
      <span class="symbol">
        <span class="name">SymbolAPIBase</span><span class="params">()</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.SymbolAPIBase@&lt;init&gt;():org.apache.mxnet.SymbolAPIBase" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      
    </li></ol>
            </div>

        

        <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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="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.SymbolAPIBase@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>Annotations</dt><dd>
                <span class="name">@<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.SymbolAPIBase@!=(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.SymbolAPIBase@##():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.SymbolAPIBase@==(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.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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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.SymbolAPIBase@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="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>