<!DOCTYPE html >
<html>
        <head>
          <title>DeconvolutionParam - MXNet - org.apache.mxnet.javaapi.DeconvolutionParam</title>
          <meta name="description" content="DeconvolutionParam - MXNet - org.apache.mxnet.javaapi.DeconvolutionParam" />
          <meta name="keywords" content="DeconvolutionParam MXNet org.apache.mxnet.javaapi.DeconvolutionParam" />
          <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.javaapi.DeconvolutionParam';
            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.javaapi">javaapi</a></p>
        <h1>DeconvolutionParam</h1><h3><span class="morelinks"><div>Related Doc:
            <a href="package.html" class="extype" name="org.apache.mxnet.javaapi">package javaapi</a>
          </div></span></h3><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam" 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">DeconvolutionParam</span><span class="result"> extends <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p>This Param Object is specifically used for Deconvolution</p></div><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div></div>
        

      <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.javaapi.DeconvolutionParam"><span>DeconvolutionParam</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.javaapi.DeconvolutionParam#&lt;init&gt;" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="&lt;init&gt;(data:org.apache.mxnet.javaapi.NDArray,weight:org.apache.mxnet.javaapi.NDArray,bias:org.apache.mxnet.javaapi.NDArray,kernel:org.apache.mxnet.javaapi.Shape,num_filter:Integer):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="&lt;init&gt;:DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">new</span>
      </span>
      <span class="symbol">
        <span class="name">DeconvolutionParam</span><span class="params">(<span name="data">data: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>, <span name="weight">weight: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>, <span name="bias">bias: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>, <span name="kernel">kernel: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>, <span name="num_filter">num_filter: <span class="extype" name="java.lang.Integer">Integer</span></span>)</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@&lt;init&gt;(data:org.apache.mxnet.javaapi.NDArray,weight:org.apache.mxnet.javaapi.NDArray,bias:org.apache.mxnet.javaapi.NDArray,kernel:org.apache.mxnet.javaapi.Shape,num_filter:Integer):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">data</dt><dd class="cmt"><p>Input tensor to the deconvolution operation.</p></dd><dt class="param">weight</dt><dd class="cmt"><p>Weights representing the kernel.</p></dd><dt class="param">bias</dt><dd class="cmt"><p>Bias added to the result after the deconvolution operation.</p></dd><dt class="param">kernel</dt><dd class="cmt"><p>Deconvolution kernel size: (w,), (h, w) or (d, h, w). This is same as the kernel size used for the corresponding convolution</p></dd><dt class="param">num_filter</dt><dd class="cmt"><p>Number of output filters.
</p></dd></dl></div>
    </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.javaapi.DeconvolutionParam@!=(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.javaapi.DeconvolutionParam@##():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.javaapi.DeconvolutionParam@==(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#asInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="asInstanceOf[T0]:T0"></a>
      <a id="asInstanceOf[T0]:T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@asInstanceOf[T0]:T0" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#clone" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="clone():Object"></a>
      <a id="clone():AnyRef"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@clone():Object" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#eq" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="eq(x$1:AnyRef):Boolean"></a>
      <a id="eq(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam#getAdj" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getAdj():org.apache.mxnet.javaapi.Shape"></a>
      <a id="getAdj():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">getAdj</span><span class="params">()</span><span class="result">: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getAdj():org.apache.mxnet.javaapi.Shape" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getBias" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getBias():org.apache.mxnet.javaapi.NDArray"></a>
      <a id="getBias():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">getBias</span><span class="params">()</span><span class="result">: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getBias():org.apache.mxnet.javaapi.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam#getCudnn_off" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getCudnn_off():Boolean"></a>
      <a id="getCudnn_off():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">getCudnn_off</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getCudnn_off():Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getCudnn_tune" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getCudnn_tune():String"></a>
      <a id="getCudnn_tune():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">getCudnn_tune</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Predef.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getCudnn_tune():String" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getData" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getData():org.apache.mxnet.javaapi.NDArray"></a>
      <a id="getData():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">getData</span><span class="params">()</span><span class="result">: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getData():org.apache.mxnet.javaapi.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getDilate" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getDilate():org.apache.mxnet.javaapi.Shape"></a>
      <a id="getDilate():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">getDilate</span><span class="params">()</span><span class="result">: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getDilate():org.apache.mxnet.javaapi.Shape" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getKernel" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getKernel():org.apache.mxnet.javaapi.Shape"></a>
      <a id="getKernel():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">getKernel</span><span class="params">()</span><span class="result">: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getKernel():org.apache.mxnet.javaapi.Shape" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getLayout" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getLayout():String"></a>
      <a id="getLayout():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">getLayout</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Predef.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getLayout():String" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getNo_bias" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getNo_bias():Boolean"></a>
      <a id="getNo_bias():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">getNo_bias</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getNo_bias():Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getNum_filter" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getNum_filter():Integer"></a>
      <a id="getNum_filter():Integer"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getNum_filter</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Integer">Integer</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getNum_filter():Integer" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getNum_group" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getNum_group():Integer"></a>
      <a id="getNum_group():Integer"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getNum_group</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Integer">Integer</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getNum_group():Integer" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getOut" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getOut():org.apache.mxnet.NDArray"></a>
      <a id="getOut():mxnet.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">getOut</span><span class="params">()</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArray">mxnet.NDArray</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getOut():org.apache.mxnet.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getPad" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getPad():org.apache.mxnet.javaapi.Shape"></a>
      <a id="getPad():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">getPad</span><span class="params">()</span><span class="result">: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getPad():org.apache.mxnet.javaapi.Shape" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getStride" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getStride():org.apache.mxnet.javaapi.Shape"></a>
      <a id="getStride():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">getStride</span><span class="params">()</span><span class="result">: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getStride():org.apache.mxnet.javaapi.Shape" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getTarget_shape" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getTarget_shape():org.apache.mxnet.javaapi.Shape"></a>
      <a id="getTarget_shape():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">getTarget_shape</span><span class="params">()</span><span class="result">: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getTarget_shape():org.apache.mxnet.javaapi.Shape" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getWeight" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getWeight():org.apache.mxnet.javaapi.NDArray"></a>
      <a id="getWeight():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">getWeight</span><span class="params">()</span><span class="result">: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getWeight():org.apache.mxnet.javaapi.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#getWorkspace" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getWorkspace():Long"></a>
      <a id="getWorkspace():Long"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getWorkspace</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Long">Long</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@getWorkspace():Long" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </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.javaapi.DeconvolutionParam@hashCode():Int" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#isInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <a id="isInstanceOf[T0]:Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@isInstanceOf[T0]:Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#ne" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ne(x$1:AnyRef):Boolean"></a>
      <a id="ne(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam#setAdj" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setAdj(adj:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setAdj(Shape):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setAdj</span><span class="params">(<span name="adj">adj: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setAdj(adj:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">adj</dt><dd class="cmt"><p>Adjustment for output shape: (w,), (h, w) or (d, h, w). If <code>target_shape</code> is set, <code>adj</code> will be ignored and computed accordingly.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setCudnn_off" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setCudnn_off(cudnn_off:Boolean):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setCudnn_off(Boolean):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setCudnn_off</span><span class="params">(<span name="cudnn_off">cudnn_off: <span class="extype" name="java.lang.Boolean">Boolean</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setCudnn_off(cudnn_off:Boolean):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">cudnn_off</dt><dd class="cmt"><p>Turn off cudnn for this layer.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setCudnn_tune" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setCudnn_tune(cudnn_tune:String):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setCudnn_tune(String):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setCudnn_tune</span><span class="params">(<span name="cudnn_tune">cudnn_tune: <span class="extype" name="scala.Predef.String">String</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setCudnn_tune(cudnn_tune:String):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">cudnn_tune</dt><dd class="cmt"><p>Whether to pick convolution algorithm by running performance test.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setDilate" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setDilate(dilate:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setDilate(Shape):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setDilate</span><span class="params">(<span name="dilate">dilate: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setDilate(dilate:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">dilate</dt><dd class="cmt"><p>Dilation factor for each dimension of the input: (w,), (h, w) or (d, h, w). Defaults to 1 for each dimension.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setLayout" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setLayout(layout:String):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setLayout(String):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setLayout</span><span class="params">(<span name="layout">layout: <span class="extype" name="scala.Predef.String">String</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setLayout(layout:String):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">layout</dt><dd class="cmt"><p>Set layout for input, output and weight. Empty for default layout, NCW for 1d, NCHW for 2d and NCDHW for 3d.NHWC and NDHWC are only supported on GPU.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setNo_bias" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setNo_bias(no_bias:Boolean):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setNo_bias(Boolean):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setNo_bias</span><span class="params">(<span name="no_bias">no_bias: <span class="extype" name="java.lang.Boolean">Boolean</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setNo_bias(no_bias:Boolean):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">no_bias</dt><dd class="cmt"><p>Whether to disable bias parameter.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setNum_group" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setNum_group(num_group:Integer):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setNum_group(Integer):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setNum_group</span><span class="params">(<span name="num_group">num_group: <span class="extype" name="java.lang.Integer">Integer</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setNum_group(num_group:Integer):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">num_group</dt><dd class="cmt"><p>Number of groups partition.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setOut" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="setOut(out:org.apache.mxnet.javaapi.NDArray):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setOut(NDArray):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setOut</span><span class="params">(<span name="out">out: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setOut(out:org.apache.mxnet.javaapi.NDArray):org.apache.mxnet.javaapi.DeconvolutionParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setPad" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setPad(pad:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setPad(Shape):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setPad</span><span class="params">(<span name="pad">pad: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setPad(pad:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">pad</dt><dd class="cmt"><p>The amount of implicit zero padding added during convolution for each dimension of the input: (w,), (h, w) or (d, h, w). <code><code>(kernel-1)/2</code></code> is usually a good choice. If <code>target_shape</code> is set, <code>pad</code> will be ignored and a padding that will generate the target shape will be used. Defaults to no padding.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setStride" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setStride(stride:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setStride(Shape):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setStride</span><span class="params">(<span name="stride">stride: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setStride(stride:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">stride</dt><dd class="cmt"><p>The stride used for the corresponding convolution: (w,), (h, w) or (d, h, w). Defaults to 1 for each dimension.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setTarget_shape" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setTarget_shape(target_shape:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setTarget_shape(Shape):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setTarget_shape</span><span class="params">(<span name="target_shape">target_shape: <a href="Shape.html" class="extype" name="org.apache.mxnet.javaapi.Shape">Shape</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setTarget_shape(target_shape:org.apache.mxnet.javaapi.Shape):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">target_shape</dt><dd class="cmt"><p>Shape of the output tensor: (w,), (h, w) or (d, h, w).
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.DeconvolutionParam#setWorkspace" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setWorkspace(workspace:Long):org.apache.mxnet.javaapi.DeconvolutionParam"></a>
      <a id="setWorkspace(Long):DeconvolutionParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setWorkspace</span><span class="params">(<span name="workspace">workspace: <span class="extype" name="java.lang.Long">Long</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.DeconvolutionParam">DeconvolutionParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@setWorkspace(workspace:Long):org.apache.mxnet.javaapi.DeconvolutionParam" 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 class="param">workspace</dt><dd class="cmt"><p>Maximum temporary workspace allowed (MB) in deconvolution.This parameter has two usages. When CUDNN is not used, it determines the effective batch size of the deconvolution kernel. When CUDNN is used, it controls the maximum temporary storage used for tuning the best CUDNN kernel when <code>limited_workspace</code> strategy is used.
</p></dd></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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@toString():String" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait():Unit"></a>
      <a id="wait():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@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.javaapi.DeconvolutionParam@wait(x$1:Long):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

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

      </div>

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

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


    </body>
      </html>