<!DOCTYPE html >
<html>
        <head>
          <title>SequentialModule - MXNet - org.apache.mxnet.module.SequentialModule</title>
          <meta name="description" content="SequentialModule - MXNet - org.apache.mxnet.module.SequentialModule" />
          <meta name="keywords" content="SequentialModule MXNet org.apache.mxnet.module.SequentialModule" />
          <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.module.SequentialModule';
            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>.<a href="package.html" class="extype" name="org.apache.mxnet.module">module</a></p>
        <h1>SequentialModule</h1><h3><span class="morelinks"><div>Related Doc:
            <a href="package.html" class="extype" name="org.apache.mxnet.module">package module</a>
          </div></span></h3><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <span class="name">SequentialModule</span><span class="result"> extends <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p>A SequentialModule is a container module that can chain multiple modules together.
Note building a computation graph with this kind of imperative container is less
flexible and less efficient than the symbolic graph.
So this should be only used as a handy utility.
</p></div><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a>, <span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div></div>
        

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol>
                
                <li class="alpha in"><span>Alphabetic</span></li>
                <li class="inherit out"><span>By inheritance</span></li>
              </ol>
            </div>
        <div id="ancestors">
                <span class="filtertype">Inherited<br />
                </span>
                <ol id="linearization">
                  <li class="in" name="org.apache.mxnet.module.SequentialModule"><span>SequentialModule</span></li><li class="in" name="org.apache.mxnet.module.BaseModule"><span>BaseModule</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.module.SequentialModule#&lt;init&gt;" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="&lt;init&gt;():org.apache.mxnet.module.SequentialModule"></a>
      <a id="&lt;init&gt;:SequentialModule"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">new</span>
      </span>
      <span class="symbol">
        <span class="name">SequentialModule</span><span class="params">()</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@&lt;init&gt;():org.apache.mxnet.module.SequentialModule" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li></ol>
            </div>

        

        

        <div id="values" class="values members">
              <h3>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.module.SequentialModule@!=(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.module.SequentialModule@##():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.module.SequentialModule@==(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#add" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="add(module:org.apache.mxnet.module.BaseModule,kwargs:(String,Boolean)*):org.apache.mxnet.module.SequentialModule"></a>
      <a id="add(BaseModule,(String,Boolean)*):SequentialModule"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">add</span><span class="params">(<span name="module">module: <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></span>, <span name="kwargs">kwargs: (<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Boolean">Boolean</span>)*</span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@add(module:org.apache.mxnet.module.BaseModule,kwargs:(String,Boolean)*):org.apache.mxnet.module.SequentialModule" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Add a module to the chain.</p><div class="fullcomment"><div class="comment cmt"><p>Add a module to the chain.
An example of addinging two modules to a chain:
val seqMod = new SequentialModule()
seqMod.add(mod1).add(mod2)</p></div><dl class="paramcmts block"><dt class="param">module</dt><dd class="cmt"><p>The new module to add.</p></dd><dt class="param">kwargs</dt><dd class="cmt"><p>All the keyword arguments are saved as meta information
                               for the added module. The currently known meta includes</p><ul><li>&quot;take_labels&quot;: indicating whether the module expect to
                               take labels when doing computation. Note any module in
                               the chain can take labels (not necessarily only the top
                               most one), and they all take the same labels passed
                               from the original data batch for the <code>SequentialModule</code>.</li></ul></dd><dt>returns</dt><dd class="cmt"><p>This function returns <code>this</code> to allow us to easily chain a series of <code>add</code> calls.
</p></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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#backward" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="backward(outGrads:Array[org.apache.mxnet.NDArray]):Unit"></a>
      <a id="backward(Array[NDArray]):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">backward</span><span class="params">(<span name="outGrads">outGrads: <span class="extype" name="scala.Array">Array</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">null</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.module.SequentialModule@backward(outGrads:Array[org.apache.mxnet.NDArray]):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Backward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Backward computation.</p></div><dl class="paramcmts block"><dt class="param">outGrads</dt><dd class="cmt"><p>Gradient on the outputs to be propagated back.
                This parameter is only needed when bind is called
                on outputs that are not a loss function.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#bind" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="bind(dataShapes:IndexedSeq[org.apache.mxnet.DataDesc],labelShapes:Option[IndexedSeq[org.apache.mxnet.DataDesc]],forTraining:Boolean,inputsNeedGrad:Boolean,forceRebind:Boolean,sharedModule:Option[org.apache.mxnet.module.BaseModule],gradReq:String):Unit"></a>
      <a id="bind(IndexedSeq[DataDesc],Option[IndexedSeq[DataDesc]],Boolean,Boolean,Boolean,Option[BaseModule],String):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">bind</span><span class="params">(<span name="dataShapes">dataShapes: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../DataDesc.html" class="extype" name="org.apache.mxnet.DataDesc">DataDesc</a>]</span>, <span name="labelShapes">labelShapes: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../DataDesc.html" class="extype" name="org.apache.mxnet.DataDesc">DataDesc</a>]] = <span class="symbol">None</span></span>, <span name="forTraining">forTraining: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>, <span name="inputsNeedGrad">inputsNeedGrad: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</span></span>, <span name="forceRebind">forceRebind: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</span></span>, <span name="sharedModule">sharedModule: <span class="extype" name="scala.Option">Option</span>[<a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a>] = <span class="symbol">None</span></span>, <span name="gradReq">gradReq: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">&quot;write&quot;</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.module.SequentialModule@bind(dataShapes:IndexedSeq[org.apache.mxnet.DataDesc],labelShapes:Option[IndexedSeq[org.apache.mxnet.DataDesc]],forTraining:Boolean,inputsNeedGrad:Boolean,forceRebind:Boolean,sharedModule:Option[org.apache.mxnet.module.BaseModule],gradReq:String):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Bind the symbols to construct executors.</p><div class="fullcomment"><div class="comment cmt"><p>Bind the symbols to construct executors. This is necessary before one
can perform computation with the module.</p></div><dl class="paramcmts block"><dt class="param">dataShapes</dt><dd class="cmt"><p>Typically is <code>dataIter.provideData</code>.</p></dd><dt class="param">labelShapes</dt><dd class="cmt"><p>Typically is <code>data_iter.provide_label</code>.</p></dd><dt class="param">forTraining</dt><dd class="cmt"><p>Default is <code>true</code>. Whether the executors should be bind for training.</p></dd><dt class="param">inputsNeedGrad</dt><dd class="cmt"><p>Default is <code>false</code>.
                      Whether the gradients to the input data need to be computed.
                      Typically this is not needed.
                      But this might be needed when implementing composition of modules.</p></dd><dt class="param">forceRebind</dt><dd class="cmt"><p>Default is <code>false</code>.
                   This function does nothing if the executors are already binded.
                   But with this <code>true</code>, the executors will be forced to rebind.</p></dd><dt class="param">sharedModule</dt><dd class="cmt"><p>Default is <code>None</code>. This is used in bucketing.
                    When not <code>None</code>, the shared module essentially corresponds to
                    a different bucket -- a module with different symbol
                    but with the same sets of parameters
                    (e.g. unrolled RNNs with different lengths).</p></dd><dt class="param">gradReq</dt><dd class="cmt"><p>Requirement for gradient accumulation (globally).
               Can be 'write', 'add', or 'null' (default to 'write').
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#bind" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="bind(forTraining:Boolean,inputsNeedGrad:Boolean,forceRebind:Boolean,dataShape:org.apache.mxnet.DataDesc*):Unit"></a>
      <a id="bind(Boolean,Boolean,Boolean,DataDesc*):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">bind</span><span class="params">(<span name="forTraining">forTraining: <span class="extype" name="scala.Boolean">Boolean</span></span>, <span name="inputsNeedGrad">inputsNeedGrad: <span class="extype" name="scala.Boolean">Boolean</span></span>, <span name="forceRebind">forceRebind: <span class="extype" name="scala.Boolean">Boolean</span></span>, <span name="dataShape">dataShape: <a href="../DataDesc.html" class="extype" name="org.apache.mxnet.DataDesc">DataDesc</a>*</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.module.SequentialModule@bind(forTraining:Boolean,inputsNeedGrad:Boolean,forceRebind:Boolean,dataShape:org.apache.mxnet.DataDesc*):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Bind the symbols to construct executors.</p><div class="fullcomment"><div class="comment cmt"><p>Bind the symbols to construct executors.
This is necessary before one can perform computation with the module.</p></div><dl class="paramcmts block"><dt class="param">forTraining</dt><dd class="cmt"><p>Default is <code>True</code>. Whether the executors should be bind for training.</p></dd><dt class="param">inputsNeedGrad</dt><dd class="cmt"><p>Default is <code>False</code>.
                       Whether the gradients to the input data need to be computed.
                       Typically this is not needed.
                       But this might be needed when implementing composition of modules.</p></dd><dt class="param">forceRebind</dt><dd class="cmt"><p>Default is <code>False</code>. This function does nothing
                   if the executors are already binded. But with this <code>True</code>,
                   the executors will be forced to rebind.</p></dd><dt class="param">dataShape</dt><dd class="cmt"><p>Typically is <code>DataIter.provideData</code>.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd><dt>Annotations</dt><dd>
                <span class="name">@varargs</span><span class="args">()</span>
              
        </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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#dataNames" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="dataNames:IndexedSeq[String]"></a>
      <a id="dataNames:IndexedSeq[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">dataNames</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<span class="extype" name="scala.Predef.String">String</span>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@dataNames:IndexedSeq[String]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>A list of names for data required by this module.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#dataShapes" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="dataShapes:IndexedSeq[org.apache.mxnet.DataDesc]"></a>
      <a id="dataShapes:IndexedSeq[DataDesc]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">dataShapes</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../DataDesc.html" class="extype" name="org.apache.mxnet.DataDesc">DataDesc</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@dataShapes:IndexedSeq[org.apache.mxnet.DataDesc]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get data shapes.</p><div class="fullcomment"><div class="comment cmt"><p>Get data shapes.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>The data shapes of the first module is the data shape of a SequentialModule.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></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.module.SequentialModule@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.module.SequentialModule@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.module.SequentialModule@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="org.apache.mxnet.module.BaseModule#fit" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="fit(trainData:org.apache.mxnet.DataIter,evalData:Option[org.apache.mxnet.DataIter],numEpoch:Int,fitParams:org.apache.mxnet.module.FitParams):Unit"></a>
      <a id="fit(DataIter,Option[DataIter],Int,FitParams):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">fit</span><span class="params">(<span name="trainData">trainData: <a href="../DataIter.html" class="extype" name="org.apache.mxnet.DataIter">DataIter</a></span>, <span name="evalData">evalData: <span class="extype" name="scala.Option">Option</span>[<a href="../DataIter.html" class="extype" name="org.apache.mxnet.DataIter">DataIter</a>] = <span class="symbol">None</span></span>, <span name="numEpoch">numEpoch: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">1</span></span>, <span name="fitParams">fitParams: <a href="FitParams.html" class="extype" name="org.apache.mxnet.module.FitParams">FitParams</a> = <span class="symbol"><span class="name"><a href="FitParams.html">new FitParams</a></span></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.module.SequentialModule@fit(trainData:org.apache.mxnet.DataIter,evalData:Option[org.apache.mxnet.DataIter],numEpoch:Int,fitParams:org.apache.mxnet.module.FitParams):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Train the module parameters.</p><div class="fullcomment"><div class="comment cmt"><p>Train the module parameters.</p></div><dl class="paramcmts block"><dt class="param">trainData</dt><dd class="cmt"></dd><dt class="param">evalData</dt><dd class="cmt"><p>If not <code>None</code>, will be used as validation set and evaluate
                the performance after each epoch.</p></dd><dt class="param">numEpoch</dt><dd class="cmt"><p>Number of epochs to run training.</p></dd><dt class="param">fitParams</dt><dd class="cmt"><p>Extra parameters for training.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#forward" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="forward(dataBatch:org.apache.mxnet.DataBatch,isTrain:Option[Boolean]):Unit"></a>
      <a id="forward(DataBatch,Option[Boolean]):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">forward</span><span class="params">(<span name="dataBatch">dataBatch: <a href="../DataBatch.html" class="extype" name="org.apache.mxnet.DataBatch">DataBatch</a></span>, <span name="isTrain">isTrain: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</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.module.SequentialModule@forward(dataBatch:org.apache.mxnet.DataBatch,isTrain:Option[Boolean]):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Forward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Forward computation.</p></div><dl class="paramcmts block"><dt class="param">dataBatch</dt><dd class="cmt"><p>input data</p></dd><dt class="param">isTrain</dt><dd class="cmt"><p>Default is <code>None</code>, which means <code>isTrain</code> takes the value of <code>forTraining</code>.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#forward" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="forward(dataBatch:org.apache.mxnet.DataBatch,isTrain:Boolean):Unit"></a>
      <a id="forward(DataBatch,Boolean):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">forward</span><span class="params">(<span name="dataBatch">dataBatch: <a href="../DataBatch.html" class="extype" name="org.apache.mxnet.DataBatch">DataBatch</a></span>, <span name="isTrain">isTrain: <span class="extype" name="scala.Boolean">Boolean</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.module.SequentialModule@forward(dataBatch:org.apache.mxnet.DataBatch,isTrain:Boolean):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Forward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Forward computation.</p></div><dl class="paramcmts block"><dt class="param">dataBatch</dt><dd class="cmt"><p>a batch of data.</p></dd><dt class="param">isTrain</dt><dd class="cmt"><p>Whether it is for training or not.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#forwardBackward" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="forwardBackward(dataBatch:org.apache.mxnet.DataBatch):Unit"></a>
      <a id="forwardBackward(DataBatch):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">forwardBackward</span><span class="params">(<span name="dataBatch">dataBatch: <a href="../DataBatch.html" class="extype" name="org.apache.mxnet.DataBatch">DataBatch</a></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.module.SequentialModule@forwardBackward(dataBatch:org.apache.mxnet.DataBatch):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#getInputGrads" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getInputGrads():IndexedSeq[IndexedSeq[org.apache.mxnet.NDArray]]"></a>
      <a id="getInputGrads():IndexedSeq[IndexedSeq[NDArray]]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getInputGrads</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@getInputGrads():IndexedSeq[IndexedSeq[org.apache.mxnet.NDArray]]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get the gradients to the inputs, computed in the previous backward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Get the gradients to the inputs, computed in the previous backward computation.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>In the case when data-parallelism is used,
        the grads will be collected from multiple devices.
        The results will look like <code>[ [grad1_dev1, grad1_dev2], [grad2_dev1, grad2_dev2] ]</code>,
        those <code>NDArray</code> might live on different devices.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#getInputGradsMerged" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getInputGradsMerged():IndexedSeq[org.apache.mxnet.NDArray]"></a>
      <a id="getInputGradsMerged():IndexedSeq[NDArray]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getInputGradsMerged</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@getInputGradsMerged():IndexedSeq[org.apache.mxnet.NDArray]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get the gradients to the inputs, computed in the previous backward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Get the gradients to the inputs, computed in the previous backward computation.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>In the case when data-parallelism is used,
        the grads will be merged from multiple devices,
        as they look like from a single executor.
        The results will look like <code>[grad1, grad2]</code>
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#getOutputs" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getOutputs():IndexedSeq[IndexedSeq[org.apache.mxnet.NDArray]]"></a>
      <a id="getOutputs():IndexedSeq[IndexedSeq[NDArray]]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getOutputs</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@getOutputs():IndexedSeq[IndexedSeq[org.apache.mxnet.NDArray]]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get outputs of the previous forward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Get outputs of the previous forward computation.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>In the case when data-parallelism is used,
        the outputs will be collected from multiple devices.
        The results will look like <code>[ [out1_dev1, out1_dev2], [out2_dev1, out2_dev2] ]</code>,
        those <code>NDArray</code> might live on different devices.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#getOutputsMerged" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getOutputsMerged():IndexedSeq[org.apache.mxnet.NDArray]"></a>
      <a id="getOutputsMerged():IndexedSeq[NDArray]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getOutputsMerged</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@getOutputsMerged():IndexedSeq[org.apache.mxnet.NDArray]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get outputs of the previous forward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Get outputs of the previous forward computation.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>In the case when data-parallelism is used,
        the outputs will be merged from multiple devices,
        as they look like from a single executor.
        The results will look like <code>[out1, out2]</code>
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#getParams" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getParams:(Map[String,org.apache.mxnet.NDArray],Map[String,org.apache.mxnet.NDArray])"></a>
      <a id="getParams:(Map[String,NDArray],Map[String,NDArray])"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getParams</span><span class="result">: (<span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>], <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>])</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@getParams:(Map[String,org.apache.mxnet.NDArray],Map[String,org.apache.mxnet.NDArray])" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get current parameters.</p><div class="fullcomment"><div class="comment cmt"><p>Get current parameters.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>(argParams, auxParams),
each a Map of name to parameters (in NDArray) mapping.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#getSymbol" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getSymbol:org.apache.mxnet.Symbol"></a>
      <a id="getSymbol:Symbol"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getSymbol</span><span class="result">: <a href="../Symbol.html" class="extype" name="org.apache.mxnet.Symbol">Symbol</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@getSymbol:org.apache.mxnet.Symbol" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#initOptimizer" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="initOptimizer(kvstore:String,optimizer:org.apache.mxnet.Optimizer,resetOptimizer:Boolean,forceInit:Boolean):Unit"></a>
      <a id="initOptimizer(String,Optimizer,Boolean,Boolean):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">initOptimizer</span><span class="params">(<span name="kvstore">kvstore: <span class="extype" name="scala.Predef.String">String</span> = <span class="symbol">&quot;local&quot;</span></span>, <span name="optimizer">optimizer: <a href="../Optimizer.html" class="extype" name="org.apache.mxnet.Optimizer">Optimizer</a> = <span class="symbol"><span class="name"><a href="../../../package.html">new SGD()</a></span></span></span>, <span name="resetOptimizer">resetOptimizer: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>, <span name="forceInit">forceInit: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</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.module.SequentialModule@initOptimizer(kvstore:String,optimizer:org.apache.mxnet.Optimizer,resetOptimizer:Boolean,forceInit:Boolean):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Install and initialize optimizers.</p><div class="fullcomment"><div class="comment cmt"><p>Install and initialize optimizers.</p></div><dl class="paramcmts block"><dt class="param">kvstore</dt><dd class="cmt"></dd><dt class="param">optimizer</dt><dd class="cmt"></dd><dt class="param">resetOptimizer</dt><dd class="cmt"><p>Default <code>True</code>, indicating whether we should set <code>rescaleGrad</code>
                      &amp; <code>idx2name</code> for optimizer according to executorGroup</p></dd><dt class="param">forceInit</dt><dd class="cmt"><p>Default <code>False</code>, indicating whether we should force re-initializing
                 the optimizer in the case an optimizer is already installed.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#initParams" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="initParams(initializer:org.apache.mxnet.Initializer,argParams:Map[String,org.apache.mxnet.NDArray],auxParams:Map[String,org.apache.mxnet.NDArray],allowMissing:Boolean,forceInit:Boolean,allowExtra:Boolean):Unit"></a>
      <a id="initParams(Initializer,Map[String,NDArray],Map[String,NDArray],Boolean,Boolean,Boolean):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">initParams</span><span class="params">(<span name="initializer">initializer: <a href="../Initializer.html" class="extype" name="org.apache.mxnet.Initializer">Initializer</a> = <span class="symbol"><span class="name"><a href="../../../package.html">new Uniform(0.01f)</a></span></span></span>, <span name="argParams">argParams: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">null</span></span>, <span name="auxParams">auxParams: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">null</span></span>, <span name="allowMissing">allowMissing: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</span></span>, <span name="forceInit">forceInit: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</span></span>, <span name="allowExtra">allowExtra: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</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.module.SequentialModule@initParams(initializer:org.apache.mxnet.Initializer,argParams:Map[String,org.apache.mxnet.NDArray],auxParams:Map[String,org.apache.mxnet.NDArray],allowMissing:Boolean,forceInit:Boolean,allowExtra:Boolean):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Initialize the parameters and auxiliary states.</p><div class="fullcomment"><div class="comment cmt"><p>Initialize the parameters and auxiliary states.</p></div><dl class="paramcmts block"><dt class="param">initializer</dt><dd class="cmt"><p>Called to initialize parameters if needed.</p></dd><dt class="param">argParams</dt><dd class="cmt"><p>If not None, should be a dictionary of existing arg_params.
                 Initialization will be copied from that.</p></dd><dt class="param">auxParams</dt><dd class="cmt"><p>If not None, should be a dictionary of existing aux_params.
                 Initialization will be copied from that.</p></dd><dt class="param">allowMissing</dt><dd class="cmt"><p>If true, params could contain missing values,
                    and the initializer will be called to fill those missing params.</p></dd><dt class="param">forceInit</dt><dd class="cmt"><p>If true, will force re-initialize even if already initialized.</p></dd><dt class="param">allowExtra</dt><dd class="cmt"><p>Whether allow extra parameters that are not needed by symbol.
        If this is True, no error will be thrown when argParams or auxParams
        contain extra parameters that is not needed by the executor.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#installMonitor" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="installMonitor(monitor:org.apache.mxnet.Monitor):Unit"></a>
      <a id="installMonitor(Monitor):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">installMonitor</span><span class="params">(<span name="monitor">monitor: <a href="../Monitor.html" class="extype" name="org.apache.mxnet.Monitor">Monitor</a></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.module.SequentialModule@installMonitor(monitor:org.apache.mxnet.Monitor):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#labelShapes" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="labelShapes:IndexedSeq[org.apache.mxnet.DataDesc]"></a>
      <a id="labelShapes:IndexedSeq[DataDesc]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">labelShapes</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../DataDesc.html" class="extype" name="org.apache.mxnet.DataDesc">DataDesc</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@labelShapes:IndexedSeq[org.apache.mxnet.DataDesc]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get label shapes.</p><div class="fullcomment"><div class="comment cmt"><p>Get label shapes.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>The return value could be null if
the module does not need labels, or if the module is not binded for
training (in this case, label information is not available).
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#loadParams" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="loadParams(fname:String):Unit"></a>
      <a id="loadParams(String):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">loadParams</span><span class="params">(<span name="fname">fname: <span class="extype" name="scala.Predef.String">String</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.module.SequentialModule@loadParams(fname:String):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Load model parameters from file.</p><div class="fullcomment"><div class="comment cmt"><p>Load model parameters from file.</p></div><dl class="paramcmts block"><dt class="param">fname</dt><dd class="cmt"><p>Path to input param file.</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="symbol">classOf[IOException]</span>
    </span>)</span>
              
        </dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span class="extype" name="IOException"><code>IOException</code></span> if param file is invalid
</p></span></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.module.SequentialModule@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.module.SequentialModule@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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#outputDesc" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="outputDesc:IndexedSeq[org.apache.mxnet.DataDesc]"></a>
      <a id="outputDesc:IndexedSeq[DataDesc]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">outputDesc</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../DataDesc.html" class="extype" name="org.apache.mxnet.DataDesc">DataDesc</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@outputDesc:IndexedSeq[org.apache.mxnet.DataDesc]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get output shapes.</p><div class="fullcomment"><div class="comment cmt"><p>Get output shapes.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>The output shapes of the last
module is the output shape of a SequentialModule.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#outputNames" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="outputNames:IndexedSeq[String]"></a>
      <a id="outputNames:IndexedSeq[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">outputNames</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<span class="extype" name="scala.Predef.String">String</span>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@outputNames:IndexedSeq[String]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>A list of names for the outputs of this module.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#outputShapes" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="outputShapes:IndexedSeq[(String,org.apache.mxnet.Shape)]"></a>
      <a id="outputShapes:IndexedSeq[(String,Shape)]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">outputShapes</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[(<span class="extype" name="scala.Predef.String">String</span>, <a href="../Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>)]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@outputShapes:IndexedSeq[(String,org.apache.mxnet.Shape)]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Get output shapes.</p><div class="fullcomment"><div class="comment cmt"><p>Get output shapes.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>The output shapes of the last
module is the output shape of a SequentialModule.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#predict" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="predict(evalData:org.apache.mxnet.DataIter,numBatch:Int,reset:Boolean):IndexedSeq[org.apache.mxnet.NDArray]"></a>
      <a id="predict(DataIter,Int,Boolean):IndexedSeq[NDArray]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">predict</span><span class="params">(<span name="evalData">evalData: <a href="../DataIter.html" class="extype" name="org.apache.mxnet.DataIter">DataIter</a></span>, <span name="numBatch">numBatch: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">1</span></span>, <span name="reset">reset: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>)</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@predict(evalData:org.apache.mxnet.DataIter,numBatch:Int,reset:Boolean):IndexedSeq[org.apache.mxnet.NDArray]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Run prediction and collect the outputs.</p><div class="fullcomment"><div class="comment cmt"><p>Run prediction and collect the outputs.</p></div><dl class="paramcmts block"><dt class="param">evalData</dt><dd class="cmt"><p>dataIter to do the Inference</p></dd><dt class="param">numBatch</dt><dd class="cmt"><p>Default is -1, indicating running all the batches in the data iterator.</p></dd><dt class="param">reset</dt><dd class="cmt"><p>Default is <code>True</code>, indicating whether we should reset the data iter before start
             doing prediction.</p></dd><dt>returns</dt><dd class="cmt"><p>The return value will be a list <code>[out1, out2, out3]</code>.
       The concatenation process will be like</p><pre>outputBatches = [
  [a1, a2, a3], <span class="cmt">// batch a</span>
  [b1, b2, b3]  <span class="cmt">// batch b</span>
]
result = [
  NDArray, <span class="cmt">// [a1, b1]</span>
  NDArray, <span class="cmt">// [a2, b2]</span>
  NDArray, <span class="cmt">// [a3, b3]</span>
]</pre><p>        Where each element is concatenation of the outputs for all the mini-batches.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#predict" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="predict(batch:org.apache.mxnet.DataBatch):IndexedSeq[org.apache.mxnet.NDArray]"></a>
      <a id="predict(DataBatch):IndexedSeq[NDArray]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">predict</span><span class="params">(<span name="batch">batch: <a href="../DataBatch.html" class="extype" name="org.apache.mxnet.DataBatch">DataBatch</a></span>)</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@predict(batch:org.apache.mxnet.DataBatch):IndexedSeq[org.apache.mxnet.NDArray]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#predictEveryBatch" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="predictEveryBatch(evalData:org.apache.mxnet.DataIter,numBatch:Int,reset:Boolean):IndexedSeq[IndexedSeq[org.apache.mxnet.NDArray]]"></a>
      <a id="predictEveryBatch(DataIter,Int,Boolean):IndexedSeq[IndexedSeq[NDArray]]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">predictEveryBatch</span><span class="params">(<span name="evalData">evalData: <a href="../DataIter.html" class="extype" name="org.apache.mxnet.DataIter">DataIter</a></span>, <span name="numBatch">numBatch: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">1</span></span>, <span name="reset">reset: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>)</span><span class="result">: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@predictEveryBatch(evalData:org.apache.mxnet.DataIter,numBatch:Int,reset:Boolean):IndexedSeq[IndexedSeq[org.apache.mxnet.NDArray]]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Run prediction and collect the outputs.</p><div class="fullcomment"><div class="comment cmt"><p>Run prediction and collect the outputs.</p></div><dl class="paramcmts block"><dt class="param">evalData</dt><dd class="cmt"></dd><dt class="param">numBatch</dt><dd class="cmt"><p>Default is -1, indicating running all the batches in the data iterator.</p></dd><dt class="param">reset</dt><dd class="cmt"><p>Default is <code>True</code>, indicating whether we should reset the data iter before start
             doing prediction.</p></dd><dt>returns</dt><dd class="cmt"><p>The return value will be a nested list like
        <code>[ [out1_batch1, out2_batch1, ...], [out1_batch2, out2_batch2, ...] ]</code>
        This mode is useful because in some cases (e.g. bucketing),
        the module does not necessarily produce the same number of outputs.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#saveParams" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="saveParams(fname:String):Unit"></a>
      <a id="saveParams(String):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">saveParams</span><span class="params">(<span name="fname">fname: <span class="extype" name="scala.Predef.String">String</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.module.SequentialModule@saveParams(fname:String):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Save model parameters to file.</p><div class="fullcomment"><div class="comment cmt"><p>Save model parameters to file.</p></div><dl class="paramcmts block"><dt class="param">fname</dt><dd class="cmt"><p>Path to output param file.</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#score" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="score(evalData:org.apache.mxnet.DataIter,evalMetric:org.apache.mxnet.EvalMetric,numBatch:Int,batchEndCallback:Option[org.apache.mxnet.BatchEndCallback],scoreEndCallback:Option[org.apache.mxnet.BatchEndCallback],reset:Boolean,epoch:Int):org.apache.mxnet.EvalMetric"></a>
      <a id="score(DataIter,EvalMetric,Int,Option[BatchEndCallback],Option[BatchEndCallback],Boolean,Int):EvalMetric"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">score</span><span class="params">(<span name="evalData">evalData: <a href="../DataIter.html" class="extype" name="org.apache.mxnet.DataIter">DataIter</a></span>, <span name="evalMetric">evalMetric: <a href="../EvalMetric.html" class="extype" name="org.apache.mxnet.EvalMetric">EvalMetric</a></span>, <span name="numBatch">numBatch: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">Integer.MAX_VALUE</span></span>, <span name="batchEndCallback">batchEndCallback: <span class="extype" name="scala.Option">Option</span>[<a href="../BatchEndCallback.html" class="extype" name="org.apache.mxnet.BatchEndCallback">BatchEndCallback</a>] = <span class="symbol">None</span></span>, <span name="scoreEndCallback">scoreEndCallback: <span class="extype" name="scala.Option">Option</span>[<a href="../BatchEndCallback.html" class="extype" name="org.apache.mxnet.BatchEndCallback">BatchEndCallback</a>] = <span class="symbol">None</span></span>, <span name="reset">reset: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>, <span name="epoch">epoch: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">0</span></span>)</span><span class="result">: <a href="../EvalMetric.html" class="extype" name="org.apache.mxnet.EvalMetric">EvalMetric</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.module.SequentialModule@score(evalData:org.apache.mxnet.DataIter,evalMetric:org.apache.mxnet.EvalMetric,numBatch:Int,batchEndCallback:Option[org.apache.mxnet.BatchEndCallback],scoreEndCallback:Option[org.apache.mxnet.BatchEndCallback],reset:Boolean,epoch:Int):org.apache.mxnet.EvalMetric" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Run prediction on <code>eval_data</code> and evaluate the performance according to <code>eval_metric</code>.</p><div class="fullcomment"><div class="comment cmt"><p>Run prediction on <code>eval_data</code> and evaluate the performance according to <code>eval_metric</code>.</p></div><dl class="paramcmts block"><dt class="param">evalData</dt><dd class="cmt"><p>: DataIter</p></dd><dt class="param">evalMetric</dt><dd class="cmt"><p>: EvalMetric</p></dd><dt class="param">numBatch</dt><dd class="cmt"><p>Number of batches to run. Default is <code>Integer.MAX_VALUE</code>,
                indicating run until the <code>DataIter</code> finishes.</p></dd><dt class="param">batchEndCallback</dt><dd class="cmt"><p>Could also be a list of functions.</p></dd><dt class="param">reset</dt><dd class="cmt"><p>Default <code>True</code>,
             indicating whether we should reset <code>eval_data</code> before starting evaluating.</p></dd><dt class="param">epoch</dt><dd class="cmt"><p>Default 0. For compatibility, this will be passed to callbacks (if any).
             During training, this will correspond to the training epoch number.
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.BaseModule#setParams" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setParams(argParams:Map[String,org.apache.mxnet.NDArray],auxParams:Map[String,org.apache.mxnet.NDArray],allowMissing:Boolean,forceInit:Boolean,allowExtra:Boolean):Unit"></a>
      <a id="setParams(Map[String,NDArray],Map[String,NDArray],Boolean,Boolean,Boolean):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">setParams</span><span class="params">(<span name="argParams">argParams: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</span>, <span name="auxParams">auxParams: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</span>, <span name="allowMissing">allowMissing: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</span></span>, <span name="forceInit">forceInit: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>, <span name="allowExtra">allowExtra: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">false</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.module.SequentialModule@setParams(argParams:Map[String,org.apache.mxnet.NDArray],auxParams:Map[String,org.apache.mxnet.NDArray],allowMissing:Boolean,forceInit:Boolean,allowExtra:Boolean):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Assign parameter and aux state values.</p><div class="fullcomment"><div class="comment cmt"><p>Assign parameter and aux state values.
    argParams : dict
        Dictionary of name to value (<code>NDArray</code>) mapping.
    auxParams : dict
        Dictionary of name to value (<code>NDArray</code>) mapping.
    allowMissing : bool
        If true, params could contain missing values, and the initializer will be
        called to fill those missing params.
    forceInit : bool
        If true, will force re-initialize even if already initialized.
    allowExtra : bool
        Whether allow extra parameters that are not needed by symbol.
        If this is True, no error will be thrown when argParams or auxParams
        contain extra parameters that is not needed by the executor.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></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.module.SequentialModule@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.module.SequentialModule@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="org.apache.mxnet.module.SequentialModule#update" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="update():Unit"></a>
      <a id="update():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">update</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.module.SequentialModule@update():Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></dd></dl></div>
    </li><li name="org.apache.mxnet.module.SequentialModule#updateMetric" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="updateMetric(evalMetric:org.apache.mxnet.EvalMetric,labels:IndexedSeq[org.apache.mxnet.NDArray]):Unit"></a>
      <a id="updateMetric(EvalMetric,IndexedSeq[NDArray]):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">updateMetric</span><span class="params">(<span name="evalMetric">evalMetric: <a href="../EvalMetric.html" class="extype" name="org.apache.mxnet.EvalMetric">EvalMetric</a></span>, <span name="labels">labels: <span class="extype" name="scala.IndexedSeq">IndexedSeq</span>[<a href="../NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>]</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.module.SequentialModule@updateMetric(evalMetric:org.apache.mxnet.EvalMetric,labels:IndexedSeq[org.apache.mxnet.NDArray]):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt">Evaluate and accumulate evaluation metric on outputs of the last forward computation.</p><div class="fullcomment"><div class="comment cmt"><p>Evaluate and accumulate evaluation metric on outputs of the last forward computation.</p></div><dl class="paramcmts block"><dt class="param">evalMetric</dt><dd class="cmt"></dd><dt class="param">labels</dt><dd class="cmt"><p>
</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.mxnet.module.SequentialModule">SequentialModule</a> → <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></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.module.SequentialModule@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.module.SequentialModule@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.module.SequentialModule@wait(x$1:Long):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="org.apache.mxnet.module.BaseModule">
              <h3>Inherited from <a href="BaseModule.html" class="extype" name="org.apache.mxnet.module.BaseModule">BaseModule</a></h3>
            </div><div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>