blob: 3c88685a6ac176b45ee28152d3fe71916eb8dc47 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: mxnet::cpp::Symbol Class 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>
<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.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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="namespacemxnet.html">mxnet</a></li><li class="navelem"><a class="el" href="namespacemxnet_1_1cpp.html">cpp</a></li><li class="navelem"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classmxnet_1_1cpp_1_1Symbol-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">mxnet::cpp::Symbol Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> interface.
<a href="classmxnet_1_1cpp_1_1Symbol.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="symbol_8h_source.html">symbol.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for mxnet::cpp::Symbol:</div>
<div class="dyncontent">
<div class="center"><img src="classmxnet_1_1cpp_1_1Symbol__coll__graph.png" border="0" usemap="#mxnet_1_1cpp_1_1Symbol_coll__map" alt="Collaboration graph"/></div>
<!-- MAP 0 -->
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4bcd930eb7da23e01ebdb39575ae42d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a4bcd930eb7da23e01ebdb39575ae42d8">Symbol</a> ()</td></tr>
<tr class="separator:a4bcd930eb7da23e01ebdb39575ae42d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3f10a2345c4553bd64539ea1f1397ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#ae3f10a2345c4553bd64539ea1f1397ec">Symbol</a> (<a class="el" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> handle)</td></tr>
<tr class="memdesc:ae3f10a2345c4553bd64539ea1f1397ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> with SymbolHandle <a href="classmxnet_1_1cpp_1_1Symbol.html#ae3f10a2345c4553bd64539ea1f1397ec">More...</a><br /></td></tr>
<tr class="separator:ae3f10a2345c4553bd64539ea1f1397ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e7443f4a965dcb80a6b9da03a48bca3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a0e7443f4a965dcb80a6b9da03a48bca3">Symbol</a> (const char *name)</td></tr>
<tr class="memdesc:a0e7443f4a965dcb80a6b9da03a48bca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a variable <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> <a href="classmxnet_1_1cpp_1_1Symbol.html#a0e7443f4a965dcb80a6b9da03a48bca3">More...</a><br /></td></tr>
<tr class="separator:a0e7443f4a965dcb80a6b9da03a48bca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d58e53f0477c55e088097e09a7ae6ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a7d58e53f0477c55e088097e09a7ae6ae">Symbol</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:a7d58e53f0477c55e088097e09a7ae6ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a variable <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> <a href="classmxnet_1_1cpp_1_1Symbol.html#a7d58e53f0477c55e088097e09a7ae6ae">More...</a><br /></td></tr>
<tr class="separator:a7d58e53f0477c55e088097e09a7ae6ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacb36e662833b2e07bbab6287b617566"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#aacb36e662833b2e07bbab6287b617566">operator+</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;rhs) const</td></tr>
<tr class="separator:aacb36e662833b2e07bbab6287b617566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa40c1794faf7fb62d6f4e23159185ede"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#aa40c1794faf7fb62d6f4e23159185ede">operator-</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;rhs) const</td></tr>
<tr class="separator:aa40c1794faf7fb62d6f4e23159185ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01fd254d74bc596074a581db7678e9ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a01fd254d74bc596074a581db7678e9ab">operator*</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;rhs) const</td></tr>
<tr class="separator:a01fd254d74bc596074a581db7678e9ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50c1ce73612772349a86cfebb7467ac3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a50c1ce73612772349a86cfebb7467ac3">operator/</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;rhs) const</td></tr>
<tr class="separator:a50c1ce73612772349a86cfebb7467ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a6a09276fbb9bd179b0f70839bd2a47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a9a6a09276fbb9bd179b0f70839bd2a47">operator%</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;rhs) const</td></tr>
<tr class="separator:a9a6a09276fbb9bd179b0f70839bd2a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b7d364f04536d458d0c74deedc5558"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a56b7d364f04536d458d0c74deedc5558">operator+</a> (<a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a> scalar) const</td></tr>
<tr class="separator:a56b7d364f04536d458d0c74deedc5558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42711b942c547d3ad44adace9dfbae4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a42711b942c547d3ad44adace9dfbae4e">operator-</a> (<a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a> scalar) const</td></tr>
<tr class="separator:a42711b942c547d3ad44adace9dfbae4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a992287526b51109efa825245f0220ff0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a992287526b51109efa825245f0220ff0">operator*</a> (<a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a> scalar) const</td></tr>
<tr class="separator:a992287526b51109efa825245f0220ff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e11a6929d18abcdda0f1ad6fdd94a66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a4e11a6929d18abcdda0f1ad6fdd94a66">operator/</a> (<a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a> scalar) const</td></tr>
<tr class="separator:a4e11a6929d18abcdda0f1ad6fdd94a66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39cc1264f9e5853dd41f862b20f90cf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a39cc1264f9e5853dd41f862b20f90cf1">operator%</a> (<a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a> scalar) const</td></tr>
<tr class="separator:a39cc1264f9e5853dd41f862b20f90cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c0ef80bcfeeedc09ad2e99f227b3549"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a1c0ef80bcfeeedc09ad2e99f227b3549">Copy</a> () const</td></tr>
<tr class="separator:a1c0ef80bcfeeedc09ad2e99f227b3549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa86e36463f1fbd2a1443b36beee239e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#aa86e36463f1fbd2a1443b36beee239e8">operator[]</a> (int index)</td></tr>
<tr class="separator:aa86e36463f1fbd2a1443b36beee239e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26dedc488aca35b3909f37e011e3268d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a26dedc488aca35b3909f37e011e3268d">operator[]</a> (const std::string &amp;index)</td></tr>
<tr class="separator:a26dedc488aca35b3909f37e011e3268d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1067d3717f27b12c39ddbb02b4931707"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a1067d3717f27b12c39ddbb02b4931707">Save</a> (const std::string &amp;file_name) const</td></tr>
<tr class="memdesc:a1067d3717f27b12c39ddbb02b4931707"><td class="mdescLeft">&#160;</td><td class="mdescRight">save <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> to a file <a href="classmxnet_1_1cpp_1_1Symbol.html#a1067d3717f27b12c39ddbb02b4931707">More...</a><br /></td></tr>
<tr class="separator:a1067d3717f27b12c39ddbb02b4931707"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af423be27427be42296f578447c4d6754"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#af423be27427be42296f578447c4d6754">ToJSON</a> () const</td></tr>
<tr class="memdesc:af423be27427be42296f578447c4d6754"><td class="mdescLeft">&#160;</td><td class="mdescRight">save <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> into a JSON string <a href="classmxnet_1_1cpp_1_1Symbol.html#af423be27427be42296f578447c4d6754">More...</a><br /></td></tr>
<tr class="separator:af423be27427be42296f578447c4d6754"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2b2b17938d59ed124fb2f8b30edb92c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#ab2b2b17938d59ed124fb2f8b30edb92c">GetInternals</a> () const</td></tr>
<tr class="memdesc:ab2b2b17938d59ed124fb2f8b30edb92c"><td class="mdescLeft">&#160;</td><td class="mdescRight">save <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> into a JSON string \retutrn the symbol whose outputs are all the internals. <a href="classmxnet_1_1cpp_1_1Symbol.html#ab2b2b17938d59ed124fb2f8b30edb92c">More...</a><br /></td></tr>
<tr class="separator:ab2b2b17938d59ed124fb2f8b30edb92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a4d4a4cc1309356c81ed8cdd4919580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a7a4d4a4cc1309356c81ed8cdd4919580">GetHandle</a> () const</td></tr>
<tr class="separator:a7a4d4a4cc1309356c81ed8cdd4919580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4af6e55298215b9be3b27c8410d7e2e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#aa4af6e55298215b9be3b27c8410d7e2e">Symbol</a> (const std::string &amp;operator_name, const std::string &amp;name, std::vector&lt; const char * &gt; input_keys, std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> &gt; input_values, std::vector&lt; const char * &gt; config_keys, std::vector&lt; const char * &gt; config_values)</td></tr>
<tr class="memdesc:aa4af6e55298215b9be3b27c8410d7e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct an operator <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a>, with given input <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> and config <a href="classmxnet_1_1cpp_1_1Symbol.html#aa4af6e55298215b9be3b27c8410d7e2e">More...</a><br /></td></tr>
<tr class="separator:aa4af6e55298215b9be3b27c8410d7e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fbff974968c1faece4933f2ce1381f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a8fbff974968c1faece4933f2ce1381f5">InferShape</a> (const std::map&lt; std::string, std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; &amp;arg_shapes, std::vector&lt; std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; *in_shape, std::vector&lt; std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; *aux_shape, std::vector&lt; std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; *out_shape) const</td></tr>
<tr class="memdesc:a8fbff974968c1faece4933f2ce1381f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">infer the shapes by providing shapes of known argument shapes. <a href="classmxnet_1_1cpp_1_1Symbol.html#a8fbff974968c1faece4933f2ce1381f5">More...</a><br /></td></tr>
<tr class="separator:a8fbff974968c1faece4933f2ce1381f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00715c52f93164855a0390b5965a7f00"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a00715c52f93164855a0390b5965a7f00">ListArguments</a> () const</td></tr>
<tr class="memdesc:a00715c52f93164855a0390b5965a7f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">List the arguments names. <a href="classmxnet_1_1cpp_1_1Symbol.html#a00715c52f93164855a0390b5965a7f00">More...</a><br /></td></tr>
<tr class="separator:a00715c52f93164855a0390b5965a7f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fa59ce7cc675ef207f712d57677ae9e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a9fa59ce7cc675ef207f712d57677ae9e">ListInputs</a> () const</td></tr>
<tr class="separator:a9fa59ce7cc675ef207f712d57677ae9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab110afebfd90537351bb8533d8f5e0b5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#ab110afebfd90537351bb8533d8f5e0b5">ListOutputs</a> () const</td></tr>
<tr class="separator:ab110afebfd90537351bb8533d8f5e0b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16ecc9398aed28206bfb189587a668c0"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a16ecc9398aed28206bfb189587a668c0">ListAuxiliaryStates</a> () const</td></tr>
<tr class="separator:a16ecc9398aed28206bfb189587a668c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de5b5f2c60be7e3fa3c628cb3b1f1f0"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a8de5b5f2c60be7e3fa3c628cb3b1f1f0">ListAttributes</a> () const</td></tr>
<tr class="separator:a8de5b5f2c60be7e3fa3c628cb3b1f1f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4c005f5f785df91800d6bdcdd6b4f52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#ac4c005f5f785df91800d6bdcdd6b4f52">SetAttribute</a> (const std::string &amp;key, const std::string &amp;value)</td></tr>
<tr class="memdesc:ac4c005f5f785df91800d6bdcdd6b4f52"><td class="mdescLeft">&#160;</td><td class="mdescRight">set key-value attribute to the symbol <a href="classmxnet_1_1cpp_1_1Symbol.html#ac4c005f5f785df91800d6bdcdd6b4f52">More...</a><br /></td></tr>
<tr class="separator:ac4c005f5f785df91800d6bdcdd6b4f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1b006f0ddd705abfa5cba5fee3ac85e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#aa1b006f0ddd705abfa5cba5fee3ac85e">SetAttributes</a> (const std::map&lt; std::string, std::string &gt; &amp;attrs)</td></tr>
<tr class="memdesc:aa1b006f0ddd705abfa5cba5fee3ac85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">set a series of key-value attribute to the symbol <a href="classmxnet_1_1cpp_1_1Symbol.html#aa1b006f0ddd705abfa5cba5fee3ac85e">More...</a><br /></td></tr>
<tr class="separator:aa1b006f0ddd705abfa5cba5fee3ac85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de3679f31c77d013887ec0e9eacf983"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a3de3679f31c77d013887ec0e9eacf983">GetNumOutputs</a> () const</td></tr>
<tr class="separator:a3de3679f31c77d013887ec0e9eacf983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cffa0ad134efa6c75ce88bbbc19534f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">mxnet::cpp::Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a8cffa0ad134efa6c75ce88bbbc19534f">GetBackendSymbol</a> (const std::string &amp;backendName) const</td></tr>
<tr class="separator:a8cffa0ad134efa6c75ce88bbbc19534f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08b89684497879449a22d0ade347d745"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a08b89684497879449a22d0ade347d745">GetName</a> () const</td></tr>
<tr class="separator:a08b89684497879449a22d0ade347d745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae09d5b1da0683e65b1db80ed31da2f4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#ae09d5b1da0683e65b1db80ed31da2f4d">InferExecutorArrays</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;context, std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *arg_arrays, std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *grad_arrays, std::vector&lt; <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; *grad_reqs, std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *aux_arrays, const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;args_map, const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;arg_grad_store=std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt;(), const std::map&lt; std::string, <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; &amp;grad_req_type=std::map&lt; std::string, <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt;(), const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;aux_map=std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt;()) const</td></tr>
<tr class="memdesc:ae09d5b1da0683e65b1db80ed31da2f4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">infer and construct all the arrays to bind to executor by providing some known arrays. <a href="classmxnet_1_1cpp_1_1Symbol.html#ae09d5b1da0683e65b1db80ed31da2f4d">More...</a><br /></td></tr>
<tr class="separator:ae09d5b1da0683e65b1db80ed31da2f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa11a20c9f8533eebfcbfa5a9fef82f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#aaa11a20c9f8533eebfcbfa5a9fef82f7">InferArgsMap</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;context, std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *args_map, const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;known_args) const</td></tr>
<tr class="memdesc:aaa11a20c9f8533eebfcbfa5a9fef82f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">infer and construct all the input arguments arrays to bind to executor by providing some known arguments arrays. <a href="classmxnet_1_1cpp_1_1Symbol.html#aaa11a20c9f8533eebfcbfa5a9fef82f7">More...</a><br /></td></tr>
<tr class="separator:aaa11a20c9f8533eebfcbfa5a9fef82f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0096d25798fa156c3656b358cb905c12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Executor.html">Executor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a0096d25798fa156c3656b358cb905c12">SimpleBind</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;context, const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;args_map, const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;arg_grad_store=std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt;(), const std::map&lt; std::string, <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; &amp;grad_req_type=std::map&lt; std::string, <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt;(), const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;aux_map=std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt;())</td></tr>
<tr class="memdesc:a0096d25798fa156c3656b358cb905c12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an executor by bind symbol with context and arguments. If user do not want to compute the gradients of i-th argument, grad_req_type[i] can be kNullOp. The input arrays in the given maps should have the same name with the input symbol. Only need some of the necessary arrays, and the other arrays can be infered automatically. <a href="classmxnet_1_1cpp_1_1Symbol.html#a0096d25798fa156c3656b358cb905c12">More...</a><br /></td></tr>
<tr class="separator:a0096d25798fa156c3656b358cb905c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b6bab44e812186f742387527a1b4a97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1cpp_1_1Executor.html">Executor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a1b6bab44e812186f742387527a1b4a97">Bind</a> (const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;context, const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;arg_arrays, const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;grad_arrays, const std::vector&lt; <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; &amp;grad_reqs, const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;aux_arrays, const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &gt; &amp;group_to_ctx=std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &gt;(), <a class="el" href="classmxnet_1_1cpp_1_1Executor.html">Executor</a> *shared_exec=nullptr)</td></tr>
<tr class="memdesc:a1b6bab44e812186f742387527a1b4a97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an executor by bind symbol with context and arguments. If user do not want to compute the gradients of i-th argument, grad_req_type[i] can be kNullOp. <a href="classmxnet_1_1cpp_1_1Symbol.html#a1b6bab44e812186f742387527a1b4a97">More...</a><br /></td></tr>
<tr class="separator:a1b6bab44e812186f742387527a1b4a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ae848e0f5dfe16b8a150824fd93baca5c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#ae848e0f5dfe16b8a150824fd93baca5c">Variable</a> (const std::string &amp;name=&quot;&quot;)</td></tr>
<tr class="memdesc:ae848e0f5dfe16b8a150824fd93baca5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a variable <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> <a href="classmxnet_1_1cpp_1_1Symbol.html#ae848e0f5dfe16b8a150824fd93baca5c">More...</a><br /></td></tr>
<tr class="separator:ae848e0f5dfe16b8a150824fd93baca5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc8a595aa2b3c2c03c825f5b27061f45"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#afc8a595aa2b3c2c03c825f5b27061f45">Group</a> (const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &gt; &amp;symbols)</td></tr>
<tr class="memdesc:afc8a595aa2b3c2c03c825f5b27061f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a symbol that groups symbols together. <a href="classmxnet_1_1cpp_1_1Symbol.html#afc8a595aa2b3c2c03c825f5b27061f45">More...</a><br /></td></tr>
<tr class="separator:afc8a595aa2b3c2c03c825f5b27061f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaeb45c3ca7fecb68defc14addb32cd2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#afaeb45c3ca7fecb68defc14addb32cd2">Load</a> (const std::string &amp;file_name)</td></tr>
<tr class="memdesc:afaeb45c3ca7fecb68defc14addb32cd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">load <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> from a JSON file <a href="classmxnet_1_1cpp_1_1Symbol.html#afaeb45c3ca7fecb68defc14addb32cd2">More...</a><br /></td></tr>
<tr class="separator:afaeb45c3ca7fecb68defc14addb32cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a673d472807618d348b1e3e03c4dabfc2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html#a673d472807618d348b1e3e03c4dabfc2">LoadJSON</a> (const std::string &amp;json_str)</td></tr>
<tr class="memdesc:a673d472807618d348b1e3e03c4dabfc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">load <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> from a JSON string <a href="classmxnet_1_1cpp_1_1Symbol.html#a673d472807618d348b1e3e03c4dabfc2">More...</a><br /></td></tr>
<tr class="separator:a673d472807618d348b1e3e03c4dabfc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> interface. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4bcd930eb7da23e01ebdb39575ae42d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bcd930eb7da23e01ebdb39575ae42d8">&#9670;&nbsp;</a></span>Symbol() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mxnet::cpp::Symbol::Symbol </td>
<td>(</td>
<td class="paramname"></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 id="ae3f10a2345c4553bd64539ea1f1397ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3f10a2345c4553bd64539ea1f1397ec">&#9670;&nbsp;</a></span>Symbol() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mxnet::cpp::Symbol::Symbol </td>
<td>(</td>
<td class="paramtype"><a class="el" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a>&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> with SymbolHandle </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>the given SymbolHandle </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0e7443f4a965dcb80a6b9da03a48bca3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e7443f4a965dcb80a6b9da03a48bca3">&#9670;&nbsp;</a></span>Symbol() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mxnet::cpp::Symbol::Symbol </td>
<td>(</td>
<td class="paramtype">const char *&#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">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a variable <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>the name of the variable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7d58e53f0477c55e088097e09a7ae6ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d58e53f0477c55e088097e09a7ae6ae">&#9670;&nbsp;</a></span>Symbol() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mxnet::cpp::Symbol::Symbol </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">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a variable <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>the name of the variable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa4af6e55298215b9be3b27c8410d7e2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4af6e55298215b9be3b27c8410d7e2e">&#9670;&nbsp;</a></span>Symbol() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">mxnet::cpp::Symbol::Symbol </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>operator_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; const char * &gt;&#160;</td>
<td class="paramname"><em>input_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> &gt;&#160;</td>
<td class="paramname"><em>input_values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; const char * &gt;&#160;</td>
<td class="paramname"><em>config_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; const char * &gt;&#160;</td>
<td class="paramname"><em>config_values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construct an operator <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a>, with given input <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> and config </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>the name of the <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> </td></tr>
<tr><td class="paramname">input_keys</td><td>the vector of keys of the input </td></tr>
<tr><td class="paramname">input_values</td><td>the vector of the intput Symbols </td></tr>
<tr><td class="paramname">config_keys</td><td>the vector of keys of the config </td></tr>
<tr><td class="paramname">config_values</td><td>the vecotr of values of the config </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a1b6bab44e812186f742387527a1b4a97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b6bab44e812186f742387527a1b4a97">&#9670;&nbsp;</a></span>Bind()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Executor.html">Executor</a>* mxnet::cpp::Symbol::Bind </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>arg_arrays</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>grad_arrays</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>grad_reqs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>aux_arrays</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>group_to_ctx</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a>&#160;&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmxnet_1_1cpp_1_1Executor.html">Executor</a> *&#160;</td>
<td class="paramname"><em>shared_exec</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an executor by bind symbol with context and arguments. If user do not want to compute the gradients of i-th argument, grad_req_type[i] can be kNullOp. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>the context of binding. </td></tr>
<tr><td class="paramname">arg_arrays</td><td>the <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that stores the input arguments to the symbol. </td></tr>
<tr><td class="paramname">grad_arrays</td><td><a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that is used to store the gradient output of the input arguments. </td></tr>
<tr><td class="paramname">grad_reqs</td><td>requirment type of gradient saving. Can only be in {kNullOp, kAddTo, kWriteTo}. </td></tr>
<tr><td class="paramname">aux_arrays</td><td><a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that is used as internal state in op </td></tr>
<tr><td class="paramname">group_to_ctx</td><td>dict of string to mx.Context </td></tr>
<tr><td class="paramname">shared_exec</td><td><a class="el" href="classmxnet_1_1cpp_1_1Executor.html" title="Executor interface.">Executor</a> to share memory with. This is intended for runtime reshaping, variable length sequencesn etc. The returned executor shares state with shared_exec, and should not be used in parallel with it. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a new executor, which need to be free manually. </dd></dl>
</div>
</div>
<a id="a1c0ef80bcfeeedc09ad2e99f227b3549"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c0ef80bcfeeedc09ad2e99f227b3549">&#9670;&nbsp;</a></span>Copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::Copy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8cffa0ad134efa6c75ce88bbbc19534f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cffa0ad134efa6c75ce88bbbc19534f">&#9670;&nbsp;</a></span>GetBackendSymbol()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">mxnet::cpp::Symbol</a> mxnet::cpp::Symbol::GetBackendSymbol </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>backendName</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>get the new symbol through subgraph API for this symbol </dd></dl>
</div>
</div>
<a id="a7a4d4a4cc1309356c81ed8cdd4919580"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a4d4a4cc1309356c81ed8cdd4919580">&#9670;&nbsp;</a></span>GetHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> mxnet::cpp::Symbol::GetHandle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the SymbolHandle </dd></dl>
</div>
</div>
<a id="ab2b2b17938d59ed124fb2f8b30edb92c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2b2b17938d59ed124fb2f8b30edb92c">&#9670;&nbsp;</a></span>GetInternals()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::GetInternals </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>save <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> into a JSON string \retutrn the symbol whose outputs are all the internals. </p>
</div>
</div>
<a id="a08b89684497879449a22d0ade347d745"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08b89684497879449a22d0ade347d745">&#9670;&nbsp;</a></span>GetName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string mxnet::cpp::Symbol::GetName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>get the name of the symbol </dd></dl>
</div>
</div>
<a id="a3de3679f31c77d013887ec0e9eacf983"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3de3679f31c77d013887ec0e9eacf983">&#9670;&nbsp;</a></span>GetNumOutputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> mxnet::cpp::Symbol::GetNumOutputs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>get number of outputs for this symbol </dd></dl>
</div>
</div>
<a id="afc8a595aa2b3c2c03c825f5b27061f45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc8a595aa2b3c2c03c825f5b27061f45">&#9670;&nbsp;</a></span>Group()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::Group </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>symbols</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a symbol that groups symbols together. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">symbols</td><td>List of symbols to be groupe </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaa11a20c9f8533eebfcbfa5a9fef82f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa11a20c9f8533eebfcbfa5a9fef82f7">&#9670;&nbsp;</a></span>InferArgsMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mxnet::cpp::Symbol::InferArgsMap </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *&#160;</td>
<td class="paramname"><em>args_map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>known_args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>infer and construct all the input arguments arrays to bind to executor by providing some known arguments arrays. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>the context of all the infered arrays. </td></tr>
<tr><td class="paramname">args_map</td><td>map of all the infered input arguments arrays. </td></tr>
<tr><td class="paramname">known_args</td><td>map of some given arguments arrays. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae09d5b1da0683e65b1db80ed31da2f4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae09d5b1da0683e65b1db80ed31da2f4d">&#9670;&nbsp;</a></span>InferExecutorArrays()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mxnet::cpp::Symbol::InferExecutorArrays </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *&#160;</td>
<td class="paramname"><em>arg_arrays</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *&#160;</td>
<td class="paramname"><em>grad_arrays</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; *&#160;</td>
<td class="paramname"><em>grad_reqs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; *&#160;</td>
<td class="paramname"><em>aux_arrays</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>args_map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>arg_grad_store</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a>&#160;&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>grad_req_type</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a>&#160;&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>aux_map</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a>&#160;&gt;()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>infer and construct all the arrays to bind to executor by providing some known arrays. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>the context of all the infered arrays </td></tr>
<tr><td class="paramname">arg_arrays</td><td>infered input arguments arrays. </td></tr>
<tr><td class="paramname">arad_arrays</td><td>infered arrays to store the gradient output of the input arguments. </td></tr>
<tr><td class="paramname">aux_arrays</td><td>infered arrays that is used as internal state in op. </td></tr>
<tr><td class="paramname">args_map</td><td>map of some given arguments arrays. </td></tr>
<tr><td class="paramname">args_grad_store</td><td>map of some gradient given store arrays. </td></tr>
<tr><td class="paramname">args_req_type</td><td>map of some given type of gradient saving. Can only be in {kNullOp, kAddTo, kWriteTo}. </td></tr>
<tr><td class="paramname">aux_map</td><td><a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that stores the internal state in op </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8fbff974968c1faece4933f2ce1381f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fbff974968c1faece4933f2ce1381f5">&#9670;&nbsp;</a></span>InferShape()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mxnet::cpp::Symbol::InferShape </td>
<td>(</td>
<td class="paramtype">const std::map&lt; std::string, std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>arg_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; *&#160;</td>
<td class="paramname"><em>in_shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; *&#160;</td>
<td class="paramname"><em>aux_shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; std::vector&lt; <a class="el" href="include_2mxnet_2c__api_8h.html#a3438cf44a22968b254a78032ca0c2c59">mx_uint</a> &gt; &gt; *&#160;</td>
<td class="paramname"><em>out_shape</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>infer the shapes by providing shapes of known argument shapes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arg_shapes</td><td>map of argument name to shape of arguments with known shapes. </td></tr>
<tr><td class="paramname">in_shapes</td><td>used to store infered shapes of input arguments. </td></tr>
<tr><td class="paramname">out_shapes</td><td>used to store infered shapes of outputs. </td></tr>
<tr><td class="paramname">aux_shapes</td><td>use to store the infered shapes of auxiliary states </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a00715c52f93164855a0390b5965a7f00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00715c52f93164855a0390b5965a7f00">&#9670;&nbsp;</a></span>ListArguments()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::string&gt; mxnet::cpp::Symbol::ListArguments </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>List the arguments names. </p>
<p>The position of the returned list also corresponds to calling position in operator() </p><dl class="section return"><dt>Returns</dt><dd>the arguments list of this symbol, they can be either named or unnamed (empty string). </dd></dl>
</div>
</div>
<a id="a8de5b5f2c60be7e3fa3c628cb3b1f1f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8de5b5f2c60be7e3fa3c628cb3b1f1f0">&#9670;&nbsp;</a></span>ListAttributes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::map&lt;std::string, std::string&gt; mxnet::cpp::Symbol::ListAttributes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>get all attributes for this symbol </dd></dl>
</div>
</div>
<a id="a16ecc9398aed28206bfb189587a668c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16ecc9398aed28206bfb189587a668c0">&#9670;&nbsp;</a></span>ListAuxiliaryStates()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::string&gt; mxnet::cpp::Symbol::ListAuxiliaryStates </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>get the descriptions of auxiliary data for this symbol </dd></dl>
</div>
</div>
<a id="a9fa59ce7cc675ef207f712d57677ae9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fa59ce7cc675ef207f712d57677ae9e">&#9670;&nbsp;</a></span>ListInputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::string&gt; mxnet::cpp::Symbol::ListInputs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>lists all argument names and aux states of the symbol </dd></dl>
</div>
</div>
<a id="ab110afebfd90537351bb8533d8f5e0b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab110afebfd90537351bb8533d8f5e0b5">&#9670;&nbsp;</a></span>ListOutputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::string&gt; mxnet::cpp::Symbol::ListOutputs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>get the descriptions of outputs for this symbol </dd></dl>
</div>
</div>
<a id="afaeb45c3ca7fecb68defc14addb32cd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaeb45c3ca7fecb68defc14addb32cd2">&#9670;&nbsp;</a></span>Load()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::Load </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>file_name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>load <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> from a JSON file </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file_name</td><td>the name of the file </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a673d472807618d348b1e3e03c4dabfc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a673d472807618d348b1e3e03c4dabfc2">&#9670;&nbsp;</a></span>LoadJSON()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::LoadJSON </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>json_str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>load <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> from a JSON string </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">json_str</td><td>the JSON string </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9a6a09276fbb9bd179b0f70839bd2a47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a6a09276fbb9bd179b0f70839bd2a47">&#9670;&nbsp;</a></span>operator%() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator% </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a39cc1264f9e5853dd41f862b20f90cf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39cc1264f9e5853dd41f862b20f90cf1">&#9670;&nbsp;</a></span>operator%() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator% </td>
<td>(</td>
<td class="paramtype"><a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a>&#160;</td>
<td class="paramname"><em>scalar</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a01fd254d74bc596074a581db7678e9ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01fd254d74bc596074a581db7678e9ab">&#9670;&nbsp;</a></span>operator*() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator* </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a992287526b51109efa825245f0220ff0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a992287526b51109efa825245f0220ff0">&#9670;&nbsp;</a></span>operator*() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator* </td>
<td>(</td>
<td class="paramtype"><a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a>&#160;</td>
<td class="paramname"><em>scalar</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aacb36e662833b2e07bbab6287b617566"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacb36e662833b2e07bbab6287b617566">&#9670;&nbsp;</a></span>operator+() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator+ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a56b7d364f04536d458d0c74deedc5558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56b7d364f04536d458d0c74deedc5558">&#9670;&nbsp;</a></span>operator+() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a>&#160;</td>
<td class="paramname"><em>scalar</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa40c1794faf7fb62d6f4e23159185ede"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa40c1794faf7fb62d6f4e23159185ede">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator- </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a42711b942c547d3ad44adace9dfbae4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42711b942c547d3ad44adace9dfbae4e">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a>&#160;</td>
<td class="paramname"><em>scalar</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a50c1ce73612772349a86cfebb7467ac3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50c1ce73612772349a86cfebb7467ac3">&#9670;&nbsp;</a></span>operator/() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator/ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4e11a6929d18abcdda0f1ad6fdd94a66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e11a6929d18abcdda0f1ad6fdd94a66">&#9670;&nbsp;</a></span>operator/() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator/ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="include_2mxnet_2c__api_8h.html#a4e709067707d9f90c534bd65494ae668">mx_float</a>&#160;</td>
<td class="paramname"><em>scalar</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a26dedc488aca35b3909f37e011e3268d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26dedc488aca35b3909f37e011e3268d">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator[] </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa86e36463f1fbd2a1443b36beee239e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa86e36463f1fbd2a1443b36beee239e8">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::operator[] </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1067d3717f27b12c39ddbb02b4931707"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1067d3717f27b12c39ddbb02b4931707">&#9670;&nbsp;</a></span>Save()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mxnet::cpp::Symbol::Save </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>file_name</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>save <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> to a file </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file_name</td><td>the name of the file </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac4c005f5f785df91800d6bdcdd6b4f52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4c005f5f785df91800d6bdcdd6b4f52">&#9670;&nbsp;</a></span>SetAttribute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mxnet::cpp::Symbol::SetAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>set key-value attribute to the symbol </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>string represent the key for the attribute </td></tr>
<tr><td class="paramname">value</td><td>string represent the value for the attribute </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa1b006f0ddd705abfa5cba5fee3ac85e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1b006f0ddd705abfa5cba5fee3ac85e">&#9670;&nbsp;</a></span>SetAttributes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mxnet::cpp::Symbol::SetAttributes </td>
<td>(</td>
<td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>attrs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>set a series of key-value attribute to the symbol </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">attrs</td><td>string:string map represent the key value attributes </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0096d25798fa156c3656b358cb905c12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0096d25798fa156c3656b358cb905c12">&#9670;&nbsp;</a></span>SimpleBind()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmxnet_1_1cpp_1_1Executor.html">Executor</a>* mxnet::cpp::Symbol::SimpleBind </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmxnet_1_1cpp_1_1Context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>args_map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>arg_grad_store</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a>&#160;&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>grad_req_type</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="namespacemxnet_1_1cpp.html#ae1e49a337d45c7071defefda2ec91845">OpReqType</a>&#160;&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>aux_map</em> = <code>std::map&lt;&#160;std::string,&#160;<a class="el" href="classmxnet_1_1cpp_1_1NDArray.html">NDArray</a>&#160;&gt;()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an executor by bind symbol with context and arguments. If user do not want to compute the gradients of i-th argument, grad_req_type[i] can be kNullOp. The input arrays in the given maps should have the same name with the input symbol. Only need some of the necessary arrays, and the other arrays can be infered automatically. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>the context of binding. </td></tr>
<tr><td class="paramname">args_map</td><td>the <a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that stores the input arguments to the symbol. </td></tr>
<tr><td class="paramname">arg_grad_store</td><td><a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that is used to store the gradient output of the input arguments. </td></tr>
<tr><td class="paramname">grad_req_type</td><td>requirment type of gradient saving. Can only be in {kNullOp, kAddTo, kWriteTo}. </td></tr>
<tr><td class="paramname">aux_map</td><td><a class="el" href="classmxnet_1_1cpp_1_1NDArray.html" title="NDArray interface.">NDArray</a> that stores the internal state in op </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a new executor, which need to be free manually. </dd></dl>
</div>
</div>
<a id="af423be27427be42296f578447c4d6754"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af423be27427be42296f578447c4d6754">&#9670;&nbsp;</a></span>ToJSON()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string mxnet::cpp::Symbol::ToJSON </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>save <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> into a JSON string </p>
</div>
</div>
<a id="ae848e0f5dfe16b8a150824fd93baca5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae848e0f5dfe16b8a150824fd93baca5c">&#9670;&nbsp;</a></span>Variable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html">Symbol</a> mxnet::cpp::Symbol::Variable </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em> = <code>&quot;&quot;</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a variable <a class="el" href="classmxnet_1_1cpp_1_1Symbol.html" title="Symbol interface.">Symbol</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>the name of the variable </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/work/mxnet/cpp-package/include/mxnet-cpp/<a class="el" href="symbol_8h_source.html">symbol.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 03:47:41 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>