<!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 content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.11" name="generator"/>
<title>mxnet: cpp-package/include/mxnet-cpp/MxNetCpp.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script src="jquery.js" type="text/javascript"></script>
<script src="dynsections.js" type="text/javascript"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script src="search/searchdata.js" type="text/javascript"></script>
<script src="search/search.js" type="text/javascript"></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 cellpadding="0" cellspacing="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 class="tabs" id="navrow1">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div class="MSearchBoxInactive" id="MSearchBox">
<span class="left">
<img alt="" id="MSearchSelect" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()" src="search/mag_sel.png"/>
<input accesskey="S" id="MSearchField" onblur="searchBox.OnSearchFieldFocus(false)" onfocus="searchBox.OnSearchFieldFocus(true)" onkeyup="searchBox.OnSearchFieldChange(event)" type="text" value="Search"/>
</span><span class="right">
<a href="javascript:searchBox.CloseResultsWindow()" id="MSearchClose"><img alt="" border="0" id="MSearchCloseImg" src="search/close.png"/></a>
</span>
</div>
</li>
</ul>
</div>
<div class="tabs2" id="navrow2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="navpath" id="nav-path">
<ul>
<li class="navelem"><a class="el" href="dir_c9bbcf2f7c4ed40b1b23631ec8abffa6.html">cpp-package</a></li><li class="navelem"><a class="el" href="dir_eb07344824255b98f70969533c25e736.html">include</a></li><li class="navelem"><a class="el" href="dir_0327d24fd86e9ce22567ad8f859e5290.html">mxnet-cpp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">MxNetCpp.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>meta include file for <a class="el" href="namespacemxnet_1_1cpp.html">mxnet.cpp</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "mxnet-cpp/executor.hpp"</code><br/>
<code>#include "mxnet-cpp/symbol.hpp"</code><br/>
<code>#include "mxnet-cpp/ndarray.hpp"</code><br/>
<code>#include "mxnet-cpp/monitor.hpp"</code><br/>
<code>#include "mxnet-cpp/operator.hpp"</code><br/>
<code>#include "mxnet-cpp/optimizer.hpp"</code><br/>
<code>#include "mxnet-cpp/kvstore.hpp"</code><br/>
<code>#include "<a class="el" href="op_8h_source.html">mxnet-cpp/op.h</a>"</code><br/>
<code>#include "<a class="el" href="op__suppl_8h_source.html">mxnet-cpp/op_suppl.h</a>"</code><br/>
<code>#include "mxnet-cpp/io.hpp"</code><br/>
<code>#include "<a class="el" href="metric_8h_source.html">mxnet-cpp/metric.h</a>"</code><br/>
<code>#include "<a class="el" href="initializer_8h_source.html">mxnet-cpp/initializer.h</a>"</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for MxNetCpp.h:</div>
<div class="dyncontent">
<div class="center"><img alt="" border="0" src="MxNetCpp_8h__incl.png" usemap="#cpp-package_2include_2mxnet-cpp_2MxNetCpp_8h"/></div>
<map id="cpp-package_2include_2mxnet-cpp_2MxNetCpp_8h" name="cpp-package_2include_2mxnet-cpp_2MxNetCpp_8h">
<area alt="" coords="1397,95,1520,121" href="op_8h.html" id="node9" shape="rect" title="definition of all the operators "/>
<area alt="" coords="1545,95,1709,121" href="op__suppl_8h.html" id="node33" shape="rect" title="A supplement and amendment of the operators from op.h. "/>
<area alt="" coords="2067,244,2215,271" href="metric_8h.html" id="node36" shape="rect" title="mxnet-cpp/metric.h"/>
<area alt="" coords="1880,244,2043,271" href="initializer_8h.html" id="node38" shape="rect" title="random initializer "/>
<area alt="" coords="1003,468,1141,495" href="cpp-package_2include_2mxnet-cpp_2base_8h.html" id="node12" shape="rect" title="mxnet-cpp/base.h"/>
<area alt="" coords="2207,393,2353,420" href="shape_8h.html" id="node19" shape="rect" title="definition of shape "/>
<area alt="" coords="907,244,1056,271" href="op__util_8h.html" id="node23" shape="rect" title="operator helper functions "/>
<area alt="" coords="1378,169,1539,196" href="cpp-package_2include_2mxnet-cpp_2operator_8h.html" id="node24" shape="rect" title="mxnet-cpp/operator.h"/>
<area alt="" coords="1016,543,1128,569" href="c__api_8h.html" id="node14" shape="rect" title="C API of mxnet. "/>
<area alt="" coords="1262,319,1421,345" href="op__map_8h.html" id="node26" shape="rect" title="definition of OpMap "/>
<area alt="" coords="1382,244,1535,271" href="symbol_8h.html" id="node28" shape="rect" title="definition of symbol "/>
<area alt="" coords="1800,319,1955,345" href="cpp-package_2include_2mxnet-cpp_2ndarray_8h.html" id="node29" shape="rect" title="mxnet-cpp/ndarray.h"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img alt="" border="0" src="MxNetCpp_8h__dep__incl.png" usemap="#cpp-package_2include_2mxnet-cpp_2MxNetCpp_8hdep"/></div>
<map id="cpp-package_2include_2mxnet-cpp_2MxNetCpp_8hdep" name="cpp-package_2include_2mxnet-cpp_2MxNetCpp_8hdep">
<area alt="" coords="10,95,178,136" href="op__suppl_8h.html" id="node2" shape="rect" title="A supplement and amendment of the operators from op.h. "/>
</map>
</div>
</div>
<p><a href="MxNetCpp_8h_source.html">Go to the source code of this file.</a></p>
<a id="details" name="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>meta include file for <a class="el" href="namespacemxnet_1_1cpp.html">mxnet.cpp</a> </p>
<p>Copyright (c) 2016 by Contributors</p>
<dl class="section author"><dt>Author</dt><dd>Chuntao Hong, Zhang Chen </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Sep 19 2019 12:53:03 for mxnet by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="doxygen.png"/>
</a> 1.8.11
</small></address>
</body>
</html>
