blob: 60676c7d9f0051b9654b2115a7fe13142c6eddc8 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>mxnet: nnvm::compiler Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacennvm.html">nnvm</a></li><li class="navelem"><a class="el" href="namespacennvm_1_1compiler.html">compiler</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">nnvm::compiler Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ac7390f867756c18b847aaaaf549bf9e1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#ac7390f867756c18b847aaaaf549bf9e1">TOpPattern</a> = int</td></tr>
<tr class="memdesc:ac7390f867756c18b847aaaaf549bf9e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">the operator pattern <a href="#ac7390f867756c18b847aaaaf549bf9e1">More...</a><br /></td></tr>
<tr class="separator:ac7390f867756c18b847aaaaf549bf9e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad95ea95f1a7bd97f7a8d13f936318f42"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#ad95ea95f1a7bd97f7a8d13f936318f42">FTVMCompute</a> = std::function&lt; Array&lt; Tensor &gt;(const <a class="el" href="structnnvm_1_1NodeAttrs.html">NodeAttrs</a> &amp;attrs, const Array&lt; Tensor &gt; &amp;inputs, const Array&lt; Tensor &gt; &amp;out_info)&gt;</td></tr>
<tr class="memdesc:ad95ea95f1a7bd97f7a8d13f936318f42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computation description interface. <a href="#ad95ea95f1a7bd97f7a8d13f936318f42">More...</a><br /></td></tr>
<tr class="separator:ad95ea95f1a7bd97f7a8d13f936318f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3092e35c1709e8bbce0b44822ecf690a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#a3092e35c1709e8bbce0b44822ecf690a">FTVMSchedule</a> = std::function&lt; Schedule(const <a class="el" href="structnnvm_1_1NodeAttrs.html">NodeAttrs</a> &amp;attrs, const Array&lt; Tensor &gt; &amp;outs, const std::string &amp;target)&gt;</td></tr>
<tr class="memdesc:a3092e35c1709e8bbce0b44822ecf690a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build the computation schedule for op whose root is at current op. <a href="#a3092e35c1709e8bbce0b44822ecf690a">More...</a><br /></td></tr>
<tr class="separator:a3092e35c1709e8bbce0b44822ecf690a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5928b293fb1d2a15fdb1440ce21aa72a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#a5928b293fb1d2a15fdb1440ce21aa72a">FTVMAlterOpLayout</a> = std::function&lt; bool(const <a class="el" href="structnnvm_1_1NodeAttrs.html">NodeAttrs</a> &amp;attrs, const <a class="el" href="classnnvm_1_1Symbol.html">Symbol</a> &amp;inputs, const Array&lt; Tensor &gt; &amp;tinfos, <a class="el" href="classnnvm_1_1Symbol.html">Symbol</a> *ret)&gt;</td></tr>
<tr class="memdesc:a5928b293fb1d2a15fdb1440ce21aa72a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify the op node to alter its input layout. it is invoked in AlterOpLayout pass. <a href="#a5928b293fb1d2a15fdb1440ce21aa72a">More...</a><br /></td></tr>
<tr class="separator:a5928b293fb1d2a15fdb1440ce21aa72a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a795b559e153b961dcadfb44a9d7c46c6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#a795b559e153b961dcadfb44a9d7c46c6">FTVMVectorizedOp</a> = std::function&lt; <a class="el" href="namespacennvm.html#a4259d4f89d9f0feb94111a1c8cb5a1ae">nnvm::NodePtr</a>(const <a class="el" href="classnnvm_1_1Node.html">nnvm::Node</a> *node)&gt;</td></tr>
<tr class="memdesc:a795b559e153b961dcadfb44a9d7c46c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform from normal operator to vectorized operator. <a href="#a795b559e153b961dcadfb44a9d7c46c6">More...</a><br /></td></tr>
<tr class="separator:a795b559e153b961dcadfb44a9d7c46c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada56070560c42f5b6dfd650c3b316bc8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#ada56070560c42f5b6dfd650c3b316bc8">AttrDict</a> = std::unordered_map&lt; std::string, std::string &gt;</td></tr>
<tr class="separator:ada56070560c42f5b6dfd650c3b316bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aafc152b15e768d3ff58a2ae792c5c65d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65d">OpPatternKind</a> { <br />
&#160;&#160;<a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65daa8f912ede584a436f0c3be789c325746">kElemWise</a> = 0,
<a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65dae7bf0b2a21008ef1b5cf4c0067a374a6">kBroadcast</a> = 1,
<a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65da3b417eaee3f4cea30631b6fb418c626a">kInjective</a> = 2,
<a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65dabc03c0a03151f482156f3a54db1a1a2e">kCommReduce</a> = 3,
<br />
&#160;&#160;<a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65da23e581ba98062335862357f533cd58bc">kOutEWiseFusable</a> = 4,
<a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65da1727f380a91bc76c6b3405bc3511d74d">kOpaque</a> = 8
<br />
}<tr class="memdesc:aafc152b15e768d3ff58a2ae792c5c65d"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator pattern used in graph fusion <a href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aafc152b15e768d3ff58a2ae792c5c65d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6b6b454d496a9f4ade369bdf392ec149"><td class="memItemLeft" align="right" valign="top">const PackedFunc &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#a6b6b454d496a9f4ade369bdf392ec149">GetPackedFunc</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:a6b6b454d496a9f4ade369bdf392ec149"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get PackedFunction from global registry and report error if it does not exist. <a href="#a6b6b454d496a9f4ade369bdf392ec149">More...</a><br /></td></tr>
<tr class="separator:a6b6b454d496a9f4ade369bdf392ec149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e3d6c5c160d4594551b065d96e78989"><td class="memItemLeft" align="right" valign="top">tvm::Array&lt; tvm::Expr &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#a0e3d6c5c160d4594551b065d96e78989">ShapeToArray</a> (<a class="el" href="classnnvm_1_1TShape.html">TShape</a> shape)</td></tr>
<tr class="separator:a0e3d6c5c160d4594551b065d96e78989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec8d6c083a8366a25fa995d4d768cf1b"><td class="memItemLeft" align="right" valign="top">tvm::Array&lt; tvm::Integer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacennvm_1_1compiler.html#aec8d6c083a8366a25fa995d4d768cf1b">ShapeToIntArray</a> (<a class="el" href="classnnvm_1_1TShape.html">TShape</a> shape)</td></tr>
<tr class="separator:aec8d6c083a8366a25fa995d4d768cf1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ada56070560c42f5b6dfd650c3b316bc8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacennvm_1_1compiler.html#ada56070560c42f5b6dfd650c3b316bc8">nnvm::compiler::AttrDict</a> = typedef std::unordered_map&lt;std::string, std::string&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5928b293fb1d2a15fdb1440ce21aa72a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacennvm_1_1compiler.html#a5928b293fb1d2a15fdb1440ce21aa72a">nnvm::compiler::FTVMAlterOpLayout</a> = typedef std::function&lt; bool(const <a class="el" href="structnnvm_1_1NodeAttrs.html">NodeAttrs</a>&amp; attrs, const <a class="el" href="classnnvm_1_1Symbol.html">Symbol</a>&amp; inputs, const Array&lt;Tensor&gt;&amp; tinfos, <a class="el" href="classnnvm_1_1Symbol.html">Symbol</a>* ret)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify the op node to alter its input layout. it is invoked in AlterOpLayout pass. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">attrs</td><td>The attribute of the original node. </td></tr>
<tr><td class="paramname">inputs</td><td>The input symbols of the original node. </td></tr>
<tr><td class="paramname">tinfos</td><td>The inferred shape and dtype of the inputs. </td></tr>
<tr><td class="paramname">ret</td><td>The replaced operator. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whether to replace current operator. </dd></dl>
</div>
</div>
<a class="anchor" id="ad95ea95f1a7bd97f7a8d13f936318f42"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacennvm_1_1compiler.html#ad95ea95f1a7bd97f7a8d13f936318f42">nnvm::compiler::FTVMCompute</a> = typedef std::function&lt; Array&lt;Tensor&gt;(const <a class="el" href="structnnvm_1_1NodeAttrs.html">NodeAttrs</a>&amp; attrs, const Array&lt;Tensor&gt;&amp; inputs, const Array&lt;Tensor&gt;&amp; out_info)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Computation description interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">attrs</td><td>The attribute of the node. </td></tr>
<tr><td class="paramname">inputs</td><td>The input tensors(placeholders) </td></tr>
<tr><td class="paramname">out_info</td><td>Tensors holding shape/type information about output, &amp; these are always placeholders. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The output description of the tensor. </dd></dl>
</div>
</div>
<a class="anchor" id="a3092e35c1709e8bbce0b44822ecf690a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacennvm_1_1compiler.html#a3092e35c1709e8bbce0b44822ecf690a">nnvm::compiler::FTVMSchedule</a> = typedef std::function&lt; Schedule(const <a class="el" href="structnnvm_1_1NodeAttrs.html">NodeAttrs</a>&amp; attrs, const Array&lt;Tensor&gt;&amp; outs, const std::string&amp; target)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Build the computation schedule for op whose root is at current op. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">attrs</td><td>The attribute of the node. </td></tr>
<tr><td class="paramname">outs</td><td>The output tensors. </td></tr>
<tr><td class="paramname">target</td><td>The build target. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>schedule The computation schedule. </dd></dl>
</div>
</div>
<a class="anchor" id="a795b559e153b961dcadfb44a9d7c46c6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacennvm_1_1compiler.html#a795b559e153b961dcadfb44a9d7c46c6">nnvm::compiler::FTVMVectorizedOp</a> = typedef std::function&lt;<a class="el" href="namespacennvm.html#a4259d4f89d9f0feb94111a1c8cb5a1ae">nnvm::NodePtr</a> (const <a class="el" href="classnnvm_1_1Node.html">nnvm::Node</a>* node)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Transform from normal operator to vectorized operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>The source node. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Transformed vectorized op. </dd></dl>
</div>
</div>
<a class="anchor" id="ac7390f867756c18b847aaaaf549bf9e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacennvm_1_1compiler.html#ac7390f867756c18b847aaaaf549bf9e1">nnvm::compiler::TOpPattern</a> = typedef int</td>
</tr>
</table>
</div><div class="memdoc">
<p>the operator pattern </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacennvm_1_1compiler.html#aafc152b15e768d3ff58a2ae792c5c65d">nnvm::compiler::OpPatternKind</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>operator pattern used in graph fusion </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65daa8f912ede584a436f0c3be789c325746"></a>kElemWise&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65dae7bf0b2a21008ef1b5cf4c0067a374a6"></a>kBroadcast&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65da3b417eaee3f4cea30631b6fb418c626a"></a>kInjective&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65dabc03c0a03151f482156f3a54db1a1a2e"></a>kCommReduce&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65da23e581ba98062335862357f533cd58bc"></a>kOutEWiseFusable&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aafc152b15e768d3ff58a2ae792c5c65da1727f380a91bc76c6b3405bc3511d74d"></a>kOpaque&#160;</td><td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a6b6b454d496a9f4ade369bdf392ec149"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const PackedFunc&amp; nnvm::compiler::GetPackedFunc </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get PackedFunction from global registry and report error if it does not exist. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The name of the function. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The created PackedFunc. </dd></dl>
</div>
</div>
<a class="anchor" id="a0e3d6c5c160d4594551b065d96e78989"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">tvm::Array&lt;tvm::Expr&gt; nnvm::compiler::ShapeToArray </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classnnvm_1_1TShape.html">TShape</a>&#160;</td>
<td class="paramname"><em>shape</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aec8d6c083a8366a25fa995d4d768cf1b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">tvm::Array&lt;tvm::Integer&gt; nnvm::compiler::ShapeToIntArray </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classnnvm_1_1TShape.html">TShape</a>&#160;</td>
<td class="paramname"><em>shape</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 28 2020 00:52:32 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>