Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer.html 
(added)
+++ incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer.html 
Mon Apr 22 10:37:18 2019
@@ -0,0 +1,159 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: singa::ImageTransformer 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">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="namespacesinga.html">singa</a></li><li 
class="navelem"><a class="el" 
href="classsinga_1_1ImageTransformer.html">ImageTransformer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classsinga_1_1ImageTransformer-members.html">List of all members</a>  
</div>
+  <div class="headertitle">
+<div class="title">singa::ImageTransformer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::ImageTransformer:</div>
+<div class="dyncontent">
+<div class="center"><img 
src="classsinga_1_1ImageTransformer__inherit__graph.png" border="0" 
usemap="#singa_1_1ImageTransformer_inherit__map" alt="Inheritance graph"/></div>
+<!-- MAP 0 -->
+<center><span class="legend">[<a 
href="graph_legend.html">legend</a>]</span></center></div>
+<div class="dynheader">
+Collaboration diagram for singa::ImageTransformer:</div>
+<div class="dyncontent">
+<div class="center"><img src="classsinga_1_1ImageTransformer__coll__graph.png" 
border="0" usemap="#singa_1_1ImageTransformer_coll__map" alt="Collaboration 
graph"/></div>
+<!-- MAP 1 -->
+<center><span class="legend">[<a 
href="graph_legend.html">legend</a>]</span></center></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:a96dbd65ebac2c4df2d5e07b1e7a0ae9a"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1ImageTransformer.html#a96dbd65ebac2c4df2d5e07b1e7a0ae9a">Setup</a>
 (const TransformerConf &amp;conf) override</td></tr>
+<tr class="separator:a96dbd65ebac2c4df2d5e07b1e7a0ae9a"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89afa42047106f88552d2a3c2e509abd"><td class="memItemLeft" 
align="right" valign="top"><a id="a89afa42047106f88552d2a3c2e509abd"></a>
+<a class="el" href="classsinga_1_1Tensor.html">Tensor</a>&#160;</td><td 
class="memItemRight" valign="bottom"><b>Apply</b> (int flag, <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &amp;input) override</td></tr>
+<tr class="separator:a89afa42047106f88552d2a3c2e509abd"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a513f0c51e65d102e3a13429cc7fa472f"><td class="memItemLeft" 
align="right" valign="top"><a id="a513f0c51e65d102e3a13429cc7fa472f"></a>
+const bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>featurewise_center</b> () const</td></tr>
+<tr class="separator:a513f0c51e65d102e3a13429cc7fa472f"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a994dd8ad2bf2eba3b63949d7aa4d93dd"><td class="memItemLeft" 
align="right" valign="top"><a id="a994dd8ad2bf2eba3b63949d7aa4d93dd"></a>
+const bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>featurewise_std_norm</b> () const</td></tr>
+<tr class="separator:a994dd8ad2bf2eba3b63949d7aa4d93dd"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01a900064c6f27c3b9614e519c94f64d"><td class="memItemLeft" 
align="right" valign="top"><a id="a01a900064c6f27c3b9614e519c94f64d"></a>
+const bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>horizontal_mirror</b> () const</td></tr>
+<tr class="separator:a01a900064c6f27c3b9614e519c94f64d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a050f66a02359ca735851539fe725e8bd"><td class="memItemLeft" 
align="right" valign="top"><a id="a050f66a02359ca735851539fe725e8bd"></a>
+const int&#160;</td><td class="memItemRight" 
valign="bottom"><b>resize_height</b> () const</td></tr>
+<tr class="separator:a050f66a02359ca735851539fe725e8bd"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8bd2b97ae463316c403409501fb2801"><td class="memItemLeft" 
align="right" valign="top"><a id="ae8bd2b97ae463316c403409501fb2801"></a>
+const int&#160;</td><td class="memItemRight" 
valign="bottom"><b>resize_width</b> () const</td></tr>
+<tr class="separator:ae8bd2b97ae463316c403409501fb2801"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0966f09e2914b95f5b6ba43e23b46ded"><td class="memItemLeft" 
align="right" valign="top"><a id="a0966f09e2914b95f5b6ba43e23b46ded"></a>
+const float&#160;</td><td class="memItemRight" valign="bottom"><b>rescale</b> 
() const</td></tr>
+<tr class="separator:a0966f09e2914b95f5b6ba43e23b46ded"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16fe0cbd87d13e79981d90702ebba0f1"><td class="memItemLeft" 
align="right" valign="top"><a id="a16fe0cbd87d13e79981d90702ebba0f1"></a>
+const Shape&#160;</td><td class="memItemRight" 
valign="bottom"><b>crop_shape</b> () const</td></tr>
+<tr class="separator:a16fe0cbd87d13e79981d90702ebba0f1"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6aa67dad8c9da299b07c4aa20cd36c2"><td class="memItemLeft" 
align="right" valign="top"><a id="ad6aa67dad8c9da299b07c4aa20cd36c2"></a>
+const string&#160;</td><td class="memItemRight" 
valign="bottom"><b>image_dim_order</b> () const</td></tr>
+<tr class="separator:ad6aa67dad8c9da299b07c4aa20cd36c2"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a96dbd65ebac2c4df2d5e07b1e7a0ae9a"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a96dbd65ebac2c4df2d5e07b1e7a0ae9a">&#9670;&nbsp;</a></span>Setup()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::ImageTransformer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const TransformerConf &amp;&#160;</td>
+          <td class="paramname"><em>conf</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>if crop_shape not contain 2 elements, ignore crop option. </p>
+
+<p>Reimplemented from <a class="el" 
href="classsinga_1_1Transformer.html">singa::Transformer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following 
file:<ul>
+<li>/home/moaz/incubator-singa/include/singa/io/<a class="el" 
href="transformer_8h_source.html">transformer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot
 (added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot
 Mon Apr 22 10:37:18 2019
@@ -0,0 +1,8 @@
+digraph "singa::ImageTransformer"
+{
+  edge 
[fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
+  node [fontname="Helvetica",fontsize="10",shape=record];
+  Node2 [label="singa::ImageTransformer",height=0.2,width=0.4,color="black", 
fillcolor="grey75", style="filled", fontcolor="black"];
+  Node3 -> Node2 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node3 [label="singa::Transformer",height=0.2,width=0.4,color="black", 
fillcolor="white", 
style="filled",URL="$classsinga_1_1Transformer.html",tooltip="Base apply class 
that does data transformations in pre-processing stage. "];
+}

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5
 (added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5
 Mon Apr 22 10:37:18 2019
@@ -0,0 +1 @@
+366922251a73b8e064d2f5f97c2a716e
\ No newline at end of file

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot
 (added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot
 Mon Apr 22 10:37:18 2019
@@ -0,0 +1,8 @@
+digraph "singa::ImageTransformer"
+{
+  edge 
[fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
+  node [fontname="Helvetica",fontsize="10",shape=record];
+  Node0 [label="singa::ImageTransformer",height=0.2,width=0.4,color="black", 
fillcolor="grey75", style="filled", fontcolor="black"];
+  Node1 -> Node0 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node1 [label="singa::Transformer",height=0.2,width=0.4,color="black", 
fillcolor="white", 
style="filled",URL="$classsinga_1_1Transformer.html",tooltip="Base apply class 
that does data transformations in pre-processing stage. "];
+}

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5
 (added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5
 Mon Apr 22 10:37:18 2019
@@ -0,0 +1 @@
+566033092cdb1b28d66ce58c961f5d5f
\ No newline at end of file

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer-members.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer-members.html?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer-members.html 
(added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer-members.html 
Mon Apr 22 10:37:18 2019
@@ -0,0 +1,85 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: Member List</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">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="namespacesinga.html">singa</a></li><li 
class="navelem"><a class="el" 
href="classsinga_1_1Initializer.html">Initializer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Initializer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a>, including all 
inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Fill</b>(Tensor 
&amp;t)=0 (defined in <a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a></td><td 
class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Initializer</b>()=default 
(defined in <a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a></td><td 
class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Setup</b>(const 
std::string &amp;str) (defined in <a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a></td><td 
class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Initializer.html#a7ffa4b002b680d125f2725f39f658a72">Setup</a>(const
 InitializerConf &amp;conf)</td><td class="entry"><a class="el" 
href="classsinga_1_1Initializer.html">singa::Initializer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer.html 
(added)
+++ incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer.html Mon 
Apr 22 10:37:18 2019
@@ -0,0 +1,104 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: singa::Initializer 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">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="namespacesinga.html">singa</a></li><li 
class="navelem"><a class="el" 
href="classsinga_1_1Initializer.html">Initializer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classsinga_1_1Initializer-members.html">List of all members</a>  
</div>
+  <div class="headertitle">
+<div class="title">singa::Initializer Class Reference<span 
class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::Initializer:</div>
+<div class="dyncontent">
+<div class="center"><img src="classsinga_1_1Initializer__inherit__graph.png" 
border="0" usemap="#singa_1_1Initializer_inherit__map" alt="Inheritance 
graph"/></div>
+<!-- MAP 0 -->
+<center><span class="legend">[<a 
href="graph_legend.html">legend</a>]</span></center></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:a1392dc98130f6ec3d0a94ac6005f1fb9"><td class="memItemLeft" 
align="right" valign="top"><a id="a1392dc98130f6ec3d0a94ac6005f1fb9"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (const 
std::string &amp;str)</td></tr>
+<tr class="separator:a1392dc98130f6ec3d0a94ac6005f1fb9"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ffa4b002b680d125f2725f39f658a72"><td class="memItemLeft" 
align="right" valign="top"><a id="a7ffa4b002b680d125f2725f39f658a72"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Initializer.html#a7ffa4b002b680d125f2725f39f658a72">Setup</a>
 (const <a class="el" 
href="namespacesinga.html#ac7e303fc44cfdbf2611a6e69affa42e9">InitializerConf</a>
 &amp;conf)</td></tr>
+<tr class="memdesc:a7ffa4b002b680d125f2725f39f658a72"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set meta fields from user 
configurations. <br /></td></tr>
+<tr class="separator:a7ffa4b002b680d125f2725f39f658a72"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb62b4edf528b9f9009c5353be0eca00"><td class="memItemLeft" 
align="right" valign="top"><a id="adb62b4edf528b9f9009c5353be0eca00"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Fill</b> 
(<a class="el" href="classsinga_1_1Tensor.html">Tensor</a> &amp;t)=0</td></tr>
+<tr class="separator:adb62b4edf528b9f9009c5353be0eca00"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following 
file:<ul>
+<li>/home/moaz/incubator-singa/include/singa/model/<a class="el" 
href="initializer_8h_source.html">initializer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot
 (added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot
 Mon Apr 22 10:37:18 2019
@@ -0,0 +1,17 @@
+digraph "singa::Initializer"
+{
+  edge 
[fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
+  node [fontname="Helvetica",fontsize="10",shape=record];
+  rankdir="LR";
+  Node0 [label="singa::Initializer",height=0.2,width=0.4,color="black", 
fillcolor="grey75", style="filled", fontcolor="black"];
+  Node0 -> Node1 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node1 [label="singa::init::Constant",height=0.2,width=0.4,color="black", 
fillcolor="white", style="filled",URL="$classsinga_1_1init_1_1Constant.html"];
+  Node0 -> Node2 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node2 [label="singa::init::Gaussian",height=0.2,width=0.4,color="black", 
fillcolor="white", style="filled",URL="$classsinga_1_1init_1_1Gaussian.html"];
+  Node0 -> Node3 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node3 [label="singa::init::MSRA",height=0.2,width=0.4,color="black", 
fillcolor="white", 
style="filled",URL="$classsinga_1_1init_1_1MSRA.html",tooltip="Ref: [He, Zhang, 
Ren and Sun 2015]: Delving Deep into Rectifiers: Surpassing Human-Level 
Performance ..."];
+  Node0 -> Node4 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node4 [label="singa::init::Uniform",height=0.2,width=0.4,color="black", 
fillcolor="white", style="filled",URL="$classsinga_1_1init_1_1Uniform.html"];
+  Node0 -> Node5 
[dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
+  Node5 [label="singa::init::Xavier",height=0.2,width=0.4,color="black", 
fillcolor="white", 
style="filled",URL="$classsinga_1_1init_1_1Xavier.html",tooltip="Ref: [Bengio 
and Glorot 2010] Understanding the difficulty of training deep feedforward 
neural networ..."];
+}

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5
 (added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5
 Mon Apr 22 10:37:18 2019
@@ -0,0 +1 @@
+3a2dbead10ed3818962cae8d9f2c2fb6
\ No newline at end of file

Added: incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer-members.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer-members.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer-members.html 
(added)
+++ incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer-members.html 
Mon Apr 22 10:37:18 2019
@@ -0,0 +1,106 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: Member List</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">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="namespacesinga.html">singa</a></li><li 
class="navelem"><a class="el" href="classsinga_1_1Layer.html">Layer</a></li>  
</ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Layer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>, including all inherited 
members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a2cccba7a2b3a1bed714f9be2b8b4d520">AsType</a>(DataType
 dtype)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aed4aa3ffd81015c702252813e0872c1e">Backward</a>(int
 flag, const Tensor &amp;grad)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a30572f8078e2f958cbf93e37eb975da6">Backward</a>(int
 flag, const vector&lt; Tensor &gt; &amp;grads)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a9f96ab5f12aae149cdb4e94ebaefb756">Forward</a>(int
 flag, const Tensor &amp;input)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a5bf2b8e388ddbba2438f84c41ccc131a">Forward</a>(int
 flag, const vector&lt; Tensor &gt; &amp;inputs)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#ad98c0285b0b3ffe2dfc4d5fdbc2baf16">GetOutputSampleShape</a>()
 const</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a1768c424d60860b7b0208b124d68f0e9">GetOutputSampleShape</a>(int
 k)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Layer</b>()=default (defined in 
<a class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aaebc00e461ce04a98793381a9d1e63c1">layer_type</a>()
 const</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a127ffc9ed2504e1553d45336cb589ea1">name</a>() 
const</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>name_</b> (defined 
in <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a32216d201842a380d739df6a78759bb9">param_name</a>(size_t
 i)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#ada81666769392e45ceb216263a8786db">param_names</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aaf39129d5cc63a8f9c6e8ad069a7fc83">param_specs</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a61c0d34827ca76e7a950b48903e591be">param_specs</a>(size_t
 i)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>param_specs_</b> (defined in <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a93d307e8c2852b2c94102c8a7d198d13">param_values</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a1462d97e5a7c0954d34b56d94eebeb9b">Setup</a>(const
 Shape &amp;in_shape, const string &amp;proto_str)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a3a302d7b93109f8d00837b72f501c1e2">Setup</a>(const
 vector&lt; Shape &gt; &amp;in_shapes, const string &amp;proto_str)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a3866ece143b21c76702ca4ce76e79500">Setup</a>(const
 Shape &amp;in_sample, const LayerConf &amp;conf)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a580bee8561fae6918d4438841fb1b938">Setup</a>(const
 vector&lt; Shape &gt; &amp;in_samples, const LayerConf &amp;conf)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a3ffe3b58b69ccb87c48e4172f818cba5">ToDevice</a>(std::shared_ptr&lt;
 Device &gt; device)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a2f1ab53e65ec8592794494995164f12c">ToProto</a>(LayerConf
 *conf) const</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aa7386bdb843345ba6c2095c83ffbd244">ToProtoStr</a>()
 const</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a17b438a539df56a539a538a939072b81">~Layer</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer.html (added)
+++ incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,594 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: singa::Layer 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">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="namespacesinga.html">singa</a></li><li 
class="navelem"><a class="el" href="classsinga_1_1Layer.html">Layer</a></li>  
</ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1Layer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Layer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The base layer class.  
+ <a href="classsinga_1_1Layer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" 
href="layer_8h_source.html">layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Collaboration diagram for singa::Layer:</div>
+<div class="dyncontent">
+<div class="center"><img src="classsinga_1_1Layer__coll__graph.png" border="0" 
usemap="#singa_1_1Layer_coll__map" alt="Collaboration graph"/></div>
+<!-- MAP 0 -->
+<center><span class="legend">[<a 
href="graph_legend.html">legend</a>]</span></center></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:a1462d97e5a7c0954d34b56d94eebeb9b"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a1462d97e5a7c0954d34b56d94eebeb9b">Setup</a> 
(const Shape &amp;in_shape, const string &amp;proto_str)</td></tr>
+<tr class="memdesc:a1462d97e5a7c0954d34b56d94eebeb9b"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set meta data fields from a 
string representing a proto message.  <a 
href="#a1462d97e5a7c0954d34b56d94eebeb9b">More...</a><br /></td></tr>
+<tr class="separator:a1462d97e5a7c0954d34b56d94eebeb9b"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a302d7b93109f8d00837b72f501c1e2"><td class="memItemLeft" 
align="right" valign="top"><a id="a3a302d7b93109f8d00837b72f501c1e2"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a3a302d7b93109f8d00837b72f501c1e2">Setup</a> 
(const vector&lt; Shape &gt; &amp;in_shapes, const string 
&amp;proto_str)</td></tr>
+<tr class="memdesc:a3a302d7b93109f8d00837b72f501c1e2"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">'in_shapes' is the shape of 
the input feature for one sample <br /></td></tr>
+<tr class="separator:a3a302d7b93109f8d00837b72f501c1e2"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17b438a539df56a539a538a939072b81"><td class="memItemLeft" 
align="right" valign="top"><a id="a17b438a539df56a539a538a939072b81"></a>
+virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a17b438a539df56a539a538a939072b81">~Layer</a> 
()</td></tr>
+<tr class="memdesc:a17b438a539df56a539a538a939072b81"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Destruct objects created by 
this layer. <br /></td></tr>
+<tr class="separator:a17b438a539df56a539a538a939072b81"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaebc00e461ce04a98793381a9d1e63c1"><td class="memItemLeft" 
align="right" valign="top">virtual const std::string&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#aaebc00e461ce04a98793381a9d1e63c1">layer_type</a>
 () const</td></tr>
+<tr class="memdesc:aaebc00e461ce04a98793381a9d1e63c1"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Each layer sub-class would 
optionaly have a type name.  <a 
href="#aaebc00e461ce04a98793381a9d1e63c1">More...</a><br /></td></tr>
+<tr class="separator:aaebc00e461ce04a98793381a9d1e63c1"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3866ece143b21c76702ca4ce76e79500"><td class="memItemLeft" 
align="right" valign="top">virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a3866ece143b21c76702ca4ce76e79500">Setup</a> 
(const Shape &amp;in_sample, const LayerConf &amp;conf)</td></tr>
+<tr class="memdesc:a3866ece143b21c76702ca4ce76e79500"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set meta data fields 
configured in 'conf' (a proto message).  <a 
href="#a3866ece143b21c76702ca4ce76e79500">More...</a><br /></td></tr>
+<tr class="separator:a3866ece143b21c76702ca4ce76e79500"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a580bee8561fae6918d4438841fb1b938"><td class="memItemLeft" 
align="right" valign="top"><a id="a580bee8561fae6918d4438841fb1b938"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a580bee8561fae6918d4438841fb1b938">Setup</a> 
(const vector&lt; Shape &gt; &amp;in_samples, const LayerConf 
&amp;conf)</td></tr>
+<tr class="memdesc:a580bee8561fae6918d4438841fb1b938"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Used for layers that have 
multiple input tensors, e.g., concatenate layer. <br /></td></tr>
+<tr class="separator:a580bee8561fae6918d4438841fb1b938"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad98c0285b0b3ffe2dfc4d5fdbc2baf16"><td class="memItemLeft" 
align="right" valign="top"><a id="ad98c0285b0b3ffe2dfc4d5fdbc2baf16"></a>
+virtual const Shape&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#ad98c0285b0b3ffe2dfc4d5fdbc2baf16">GetOutputSampleShape</a>
 () const</td></tr>
+<tr class="memdesc:ad98c0285b0b3ffe2dfc4d5fdbc2baf16"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return the shape of the 
generated <a class="el" href="classsinga_1_1Tensor.html" title="A Tensor 
instance is a multi-dimensional array resident on a Device (default device is 
the host CPU)...">Tensor</a> without the batchsize dimension. <br /></td></tr>
+<tr class="separator:ad98c0285b0b3ffe2dfc4d5fdbc2baf16"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1768c424d60860b7b0208b124d68f0e9"><td class="memItemLeft" 
align="right" valign="top">virtual const Shape&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a1768c424d60860b7b0208b124d68f0e9">GetOutputSampleShape</a>
 (int k)</td></tr>
+<tr class="memdesc:a1768c424d60860b7b0208b124d68f0e9"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return the shape of the 
k-th generated tensor without the batchsize dimension.  <a 
href="#a1768c424d60860b7b0208b124d68f0e9">More...</a><br /></td></tr>
+<tr class="separator:a1768c424d60860b7b0208b124d68f0e9"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f96ab5f12aae149cdb4e94ebaefb756"><td class="memItemLeft" 
align="right" valign="top">virtual const <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a>&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a9f96ab5f12aae149cdb4e94ebaefb756">Forward</a> 
(int flag, const <a class="el" href="classsinga_1_1Tensor.html">Tensor</a> 
&amp;input)</td></tr>
+<tr class="memdesc:a9f96ab5f12aae149cdb4e94ebaefb756"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Do feature transformation 
for the given 'input' tensor (denoted as x).  <a 
href="#a9f96ab5f12aae149cdb4e94ebaefb756">More...</a><br /></td></tr>
+<tr class="separator:a9f96ab5f12aae149cdb4e94ebaefb756"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bf2b8e388ddbba2438f84c41ccc131a"><td class="memItemLeft" 
align="right" valign="top">virtual const vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a5bf2b8e388ddbba2438f84c41ccc131a">Forward</a> 
(int flag, const vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt; &amp;inputs)</td></tr>
+<tr class="memdesc:a5bf2b8e388ddbba2438f84c41ccc131a"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Do feature transformation 
for the given 'input' tensor (denoted as x).  <a 
href="#a5bf2b8e388ddbba2438f84c41ccc131a">More...</a><br /></td></tr>
+<tr class="separator:a5bf2b8e388ddbba2438f84c41ccc131a"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed4aa3ffd81015c702252813e0872c1e"><td class="memItemLeft" 
align="right" valign="top">virtual const std::pair&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a>, vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt; &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#aed4aa3ffd81015c702252813e0872c1e">Backward</a> 
(int flag, const <a class="el" href="classsinga_1_1Tensor.html">Tensor</a> 
&amp;grad)</td></tr>
+<tr class="memdesc:aed4aa3ffd81015c702252813e0872c1e"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients of this 
layer.  <a href="#aed4aa3ffd81015c702252813e0872c1e">More...</a><br /></td></tr>
+<tr class="separator:aed4aa3ffd81015c702252813e0872c1e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30572f8078e2f958cbf93e37eb975da6"><td class="memItemLeft" 
align="right" valign="top">virtual const std::pair&lt; vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt;, vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt; &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a30572f8078e2f958cbf93e37eb975da6">Backward</a> 
(int flag, const vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt; &amp;grads)</td></tr>
+<tr class="separator:a30572f8078e2f958cbf93e37eb975da6"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ffe3b58b69ccb87c48e4172f818cba5"><td class="memItemLeft" 
align="right" valign="top">virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a3ffe3b58b69ccb87c48e4172f818cba5">ToDevice</a> 
(std::shared_ptr&lt; <a class="el" href="classsinga_1_1Device.html">Device</a> 
&gt; device)</td></tr>
+<tr class="memdesc:a3ffe3b58b69ccb87c48e4172f818cba5"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Clone the layer to the 
given device.  <a href="#a3ffe3b58b69ccb87c48e4172f818cba5">More...</a><br 
/></td></tr>
+<tr class="separator:a3ffe3b58b69ccb87c48e4172f818cba5"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2cccba7a2b3a1bed714f9be2b8b4d520"><td class="memItemLeft" 
align="right" valign="top"><a id="a2cccba7a2b3a1bed714f9be2b8b4d520"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a2cccba7a2b3a1bed714f9be2b8b4d520">AsType</a> 
(DataType dtype)</td></tr>
+<tr class="memdesc:a2cccba7a2b3a1bed714f9be2b8b4d520"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the data type of <a 
class="el" href="classsinga_1_1Tensor.html" title="A Tensor instance is a 
multi-dimensional array resident on a Device (default device is the host 
CPU)...">Tensor</a> in this layer. <br /></td></tr>
+<tr class="separator:a2cccba7a2b3a1bed714f9be2b8b4d520"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f1ab53e65ec8592794494995164f12c"><td class="memItemLeft" 
align="right" valign="top"><a id="a2f1ab53e65ec8592794494995164f12c"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a2f1ab53e65ec8592794494995164f12c">ToProto</a> 
(LayerConf *conf) const</td></tr>
+<tr class="memdesc:a2f1ab53e65ec8592794494995164f12c"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Serialize the layer info 
(including params) into a LayerConf proto message. <br /></td></tr>
+<tr class="separator:a2f1ab53e65ec8592794494995164f12c"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7386bdb843345ba6c2095c83ffbd244"><td class="memItemLeft" 
align="right" valign="top">std::string&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#aa7386bdb843345ba6c2095c83ffbd244">ToProtoStr</a>
 () const</td></tr>
+<tr class="memdesc:aa7386bdb843345ba6c2095c83ffbd244"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Serialize the layer info, 
including params_, into a string representing a LayerParameter message.  <a 
href="#aa7386bdb843345ba6c2095c83ffbd244">More...</a><br /></td></tr>
+<tr class="separator:aa7386bdb843345ba6c2095c83ffbd244"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf39129d5cc63a8f9c6e8ad069a7fc83"><td class="memItemLeft" 
align="right" valign="top">const vector&lt; ParamSpec &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#aaf39129d5cc63a8f9c6e8ad069a7fc83">param_specs</a>
 ()</td></tr>
+<tr class="memdesc:aaf39129d5cc63a8f9c6e8ad069a7fc83"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return specs/configuration 
of all parameter instances of this layer.  <a 
href="#aaf39129d5cc63a8f9c6e8ad069a7fc83">More...</a><br /></td></tr>
+<tr class="separator:aaf39129d5cc63a8f9c6e8ad069a7fc83"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61c0d34827ca76e7a950b48903e591be"><td class="memItemLeft" 
align="right" valign="top"><a id="a61c0d34827ca76e7a950b48903e591be"></a>
+const ParamSpec &amp;&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#a61c0d34827ca76e7a950b48903e591be">param_specs</a>
 (size_t i)</td></tr>
+<tr class="memdesc:a61c0d34827ca76e7a950b48903e591be"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return the i-th ParamSpec. 
<br /></td></tr>
+<tr class="separator:a61c0d34827ca76e7a950b48903e591be"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93d307e8c2852b2c94102c8a7d198d13"><td class="memItemLeft" 
align="right" valign="top"><a id="a93d307e8c2852b2c94102c8a7d198d13"></a>
+virtual const vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a93d307e8c2852b2c94102c8a7d198d13">param_values</a>
 ()</td></tr>
+<tr class="memdesc:a93d307e8c2852b2c94102c8a7d198d13"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return pointers to 
parameter <a class="el" href="classsinga_1_1Tensor.html" title="A Tensor 
instance is a multi-dimensional array resident on a Device (default device is 
the host CPU)...">Tensor</a> s. <br /></td></tr>
+<tr class="separator:a93d307e8c2852b2c94102c8a7d198d13"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada81666769392e45ceb216263a8786db"><td class="memItemLeft" 
align="right" valign="top"><a id="ada81666769392e45ceb216263a8786db"></a>
+const vector&lt; string &gt;&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#ada81666769392e45ceb216263a8786db">param_names</a>
 ()</td></tr>
+<tr class="memdesc:ada81666769392e45ceb216263a8786db"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return names of all 
parmaeters. <br /></td></tr>
+<tr class="separator:ada81666769392e45ceb216263a8786db"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32216d201842a380d739df6a78759bb9"><td class="memItemLeft" 
align="right" valign="top"><a id="a32216d201842a380d739df6a78759bb9"></a>
+const string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#a32216d201842a380d739df6a78759bb9">param_name</a>
 (size_t i)</td></tr>
+<tr class="memdesc:a32216d201842a380d739df6a78759bb9"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return the 'i'-th parameter 
name. <br /></td></tr>
+<tr class="separator:a32216d201842a380d739df6a78759bb9"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a127ffc9ed2504e1553d45336cb589ea1"><td class="memItemLeft" 
align="right" valign="top">const std::string&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a127ffc9ed2504e1553d45336cb589ea1">name</a> () 
const</td></tr>
+<tr class="memdesc:a127ffc9ed2504e1553d45336cb589ea1"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Each layer instance would 
optionally have a name.  <a 
href="#a127ffc9ed2504e1553d45336cb589ea1">More...</a><br /></td></tr>
+<tr class="separator:a127ffc9ed2504e1553d45336cb589ea1"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a8a7f91715c0a515eed74db963d25571f"><td class="memItemLeft" 
align="right" valign="top"><a id="a8a7f91715c0a515eed74db963d25571f"></a>
+std::string&#160;</td><td class="memItemRight" 
valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a8a7f91715c0a515eed74db963d25571f"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a051f0211e578d2f03f76eb763b50c9cd"><td class="memItemLeft" 
align="right" valign="top"><a id="a051f0211e578d2f03f76eb763b50c9cd"></a>
+vector&lt; ParamSpec &gt;&#160;</td><td class="memItemRight" 
valign="bottom"><b>param_specs_</b></td></tr>
+<tr class="separator:a051f0211e578d2f03f76eb763b50c9cd"><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>The base layer class. </p>
+<p>Generally, a layer conducts feature transformation against a set of <a 
class="el" href="classsinga_1_1Tensor.html" title="A Tensor instance is a 
multi-dimensional array resident on a Device (default device is the host 
CPU)...">Tensor</a> to generate a set of <a class="el" 
href="classsinga_1_1Tensor.html" title="A Tensor instance is a 
multi-dimensional array resident on a Device (default device is the host 
CPU)...">Tensor</a>. Each layer may have some parameters. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aed4aa3ffd81015c702252813e0872c1e"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#aed4aa3ffd81015c702252813e0872c1e">&#9670;&nbsp;</a></span>Backward() 
<span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const std::pair&lt;<a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a>, vector&lt;<a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a>&gt; &gt; singa::Layer::Backward 
</td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &amp;&#160;</td>
+          <td class="paramname"><em>grad</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute gradients of this layer. </p>
+<p>Specifically, there are two types of gradients:</p><ol type="1">
+<li>gradient of the preceding layer, i.e., dx.</li>
+<li>gradients of parameters of this layer, e.g., dw for weight matrix. 1 is an 
empty tensor if there is no preceding layer or there is no need to compute dx 
(e.g., x is from a data layer); 2 is an empty vector if this 'flag' is either 
kTrain or kEval for feed-forward nets, and would be used for other phases when 
training other nets. 'grad' is a <a class="el" href="classsinga_1_1Tensor.html" 
title="A Tensor instance is a multi-dimensional array resident on a Device 
(default device is the host CPU)...">Tensor</a> for gradient (dy) from the 
upper layer. </li>
+</ol>
+
+</div>
+</div>
+<a id="a30572f8078e2f958cbf93e37eb975da6"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a30572f8078e2f958cbf93e37eb975da6">&#9670;&nbsp;</a></span>Backward() 
<span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const std::pair&lt;vector&lt;<a 
class="el" href="classsinga_1_1Tensor.html">Tensor</a>&gt;, vector&lt;<a 
class="el" href="classsinga_1_1Tensor.html">Tensor</a>&gt; &gt; 
singa::Layer::Backward </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>grads</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<p>For <a class="el" 
href="classsinga_1_1Layer.html#a5bf2b8e388ddbba2438f84c41ccc131a" title="Do 
feature transformation for the given &#39;input&#39; tensor (denoted as x). 
">Forward(int, const vector&lt;Tensor&gt;&amp;)</a> For <a class="el" 
href="classsinga_1_1Layer.html#a5bf2b8e388ddbba2438f84c41ccc131a" title="Do 
feature transformation for the given &#39;input&#39; tensor (denoted as x). 
">Forward(int, const vector&lt;Tensor&gt;&amp;)</a> </p>
+
+</div>
+</div>
+<a id="a9f96ab5f12aae149cdb4e94ebaefb756"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a9f96ab5f12aae149cdb4e94ebaefb756">&#9670;&nbsp;</a></span>Forward() 
<span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> singa::Layer::Forward </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &amp;&#160;</td>
+          <td class="paramname"><em>input</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Do feature transformation for the given 'input' tensor (denoted as x). </p>
+<p>'flag' is either kTrain or kEval for feed-forward nets, and would be used 
for other phases of training other nets. For example, when training RBM, we may 
create an alias of this function as ComputeFeature where flag could be 
kPositive and kNegative. It will return a <a class="el" 
href="classsinga_1_1Tensor.html" title="A Tensor instance is a 
multi-dimensional array resident on a Device (default device is the host 
CPU)...">Tensor</a> (denoted as y). If the 'input' or 'output' is required for 
computing the gradients in <a class="el" 
href="classsinga_1_1Layer.html#aed4aa3ffd81015c702252813e0872c1e" 
title="Compute gradients of this layer. ">Backward()</a>, then buffer them as 
internal data. </p>
+
+</div>
+</div>
+<a id="a5bf2b8e388ddbba2438f84c41ccc131a"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a5bf2b8e388ddbba2438f84c41ccc131a">&#9670;&nbsp;</a></span>Forward() 
<span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const vector&lt;<a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a>&gt; singa::Layer::Forward </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; <a class="el" 
href="classsinga_1_1Tensor.html">Tensor</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>inputs</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Do feature transformation for the given 'input' tensor (denoted as x). </p>
+<p>'flag' is either kTrain or kEval for feed-forward nets, and would be used 
for other phases of training other nets. For example, when training RBM, we may 
create an alias of this function as ComputeFeature where flag could be 
kPositive and kNegative. It will return a <a class="el" 
href="classsinga_1_1Tensor.html" title="A Tensor instance is a 
multi-dimensional array resident on a Device (default device is the host 
CPU)...">Tensor</a> (denoted as y). If the 'input' or 'output' is required for 
computing the gradients in <a class="el" 
href="classsinga_1_1Layer.html#aed4aa3ffd81015c702252813e0872c1e" 
title="Compute gradients of this layer. ">Backward()</a>, then buffer them as 
internal data. Accept multiple input tensors and generate multiple output 
tensors. If there is only one input tensor, it will call Forward(int, const <a 
class="el" href="classsinga_1_1Tensor.html" title="A Tensor instance is a 
multi-dimensional array resident on a Device (default device is the host 
CPU)...">Tens
 or</a>&amp;) by default. Users can override this function for layers who 
generate more than one outputs. </p>
+
+</div>
+</div>
+<a id="a1768c424d60860b7b0208b124d68f0e9"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a1768c424d60860b7b0208b124d68f0e9">&#9670;&nbsp;</a></span>GetOutputSampleShape()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const Shape 
singa::Layer::GetOutputSampleShape </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the shape of the k-th generated tensor without the batchsize 
dimension. </p>
+<p>Used for layers that generate multiple tensors. </p>
+
+</div>
+</div>
+<a id="aaebc00e461ce04a98793381a9d1e63c1"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#aaebc00e461ce04a98793381a9d1e63c1">&#9670;&nbsp;</a></span>layer_type()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const std::string 
singa::Layer::layer_type </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 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Each layer sub-class would optionaly have a type name. </p>
+<p>Used for debugging and logging. </p>
+
+</div>
+</div>
+<a id="a127ffc9ed2504e1553d45336cb589ea1"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a127ffc9ed2504e1553d45336cb589ea1">&#9670;&nbsp;</a></span>name()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string singa::Layer::name </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">
+
+<p>Each layer instance would optionally have a name. </p>
+<p>Used for debugging and logging. </p>
+
+</div>
+</div>
+<a id="aaf39129d5cc63a8f9c6e8ad069a7fc83"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#aaf39129d5cc63a8f9c6e8ad069a7fc83">&#9670;&nbsp;</a></span>param_specs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const vector&lt;ParamSpec&gt; 
singa::Layer::param_specs </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">
+
+<p>Return specs/configuration of all parameter instances of this layer. </p>
+<p>ParamSpec. </p>
+
+</div>
+</div>
+<a id="a1462d97e5a7c0954d34b56d94eebeb9b"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a1462d97e5a7c0954d34b56d94eebeb9b">&#9670;&nbsp;</a></span>Setup() <span 
class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::Layer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const Shape &amp;&#160;</td>
+          <td class="paramname"><em>in_shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const string &amp;&#160;</td>
+          <td class="paramname"><em>proto_str</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</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>Set meta data fields from a string representing a proto message. </p>
+<p>'in_shape' is the shape of the input feature for one sample </p>
+
+</div>
+</div>
+<a id="a3866ece143b21c76702ca4ce76e79500"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a3866ece143b21c76702ca4ce76e79500">&#9670;&nbsp;</a></span>Setup() <span 
class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::Layer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const Shape &amp;&#160;</td>
+          <td class="paramname"><em>in_sample</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const LayerConf &amp;&#160;</td>
+          <td class="paramname"><em>conf</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set meta data fields configured in 'conf' (a proto message). </p>
+<p>Some layers would use input tensor shapes for setting its parameter shapes 
(e.g, desen layer and convolution layer). 'in_shape' provides such shape info. 
It represents the shape of the <a class="el" href="classsinga_1_1Tensor.html" 
title="A Tensor instance is a multi-dimensional array resident on a Device 
(default device is the host CPU)...">Tensor</a> (with a single sample) from the 
last layer. After calling Setup, the shape info of parameters should be accssed 
correctly. Internal buffer/fields are set assuming batchsize is 1. </p>
+
+</div>
+</div>
+<a id="a3ffe3b58b69ccb87c48e4172f818cba5"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#a3ffe3b58b69ccb87c48e4172f818cba5">&#9670;&nbsp;</a></span>ToDevice()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::Layer::ToDevice </td>
+          <td>(</td>
+          <td class="paramtype">std::shared_ptr&lt; <a class="el" 
href="classsinga_1_1Device.html">Device</a> &gt;&#160;</td>
+          <td class="paramname"><em>device</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Clone the layer to the given device. </p>
+<p><a class="el" href="classsinga_1_1Layer.html" title="The base layer class. 
">Layer</a> data (e.g., parameters) are deep copied. If 'device' is nullptr, 
then clone it one the current device. Move the layer (including its parameters 
and other internal <a class="el" href="classsinga_1_1Tensor.html" title="A 
Tensor instance is a multi-dimensional array resident on a Device (default 
device is the host CPU)...">Tensor</a>) onto the given device </p>
+
+</div>
+</div>
+<a id="aa7386bdb843345ba6c2095c83ffbd244"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#aa7386bdb843345ba6c2095c83ffbd244">&#9670;&nbsp;</a></span>ToProtoStr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string singa::Layer::ToProtoStr </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">
+
+<p>Serialize the layer info, including params_, into a string representing a 
LayerParameter message. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following 
file:<ul>
+<li>/home/moaz/incubator-singa/include/singa/model/<a class="el" 
href="layer_8h_source.html">layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.dot
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.dot?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.dot 
(added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.dot 
Mon Apr 22 10:37:18 2019
@@ -0,0 +1,10 @@
+digraph "singa::Layer"
+{
+  edge 
[fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
+  node [fontname="Helvetica",fontsize="10",shape=record];
+  Node1 [label="singa::Layer",height=0.2,width=0.4,color="black", 
fillcolor="grey75", style="filled", fontcolor="black"];
+  Node2 -> Node1 
[dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" 
param_specs_" ,fontname="Helvetica"];
+  Node2 [label="vector\< ParamSpec \>",height=0.2,width=0.4,color="grey75", 
fillcolor="white", style="filled"];
+  Node3 -> Node1 
[dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" name_" 
,fontname="Helvetica"];
+  Node3 [label="string",height=0.2,width=0.4,color="grey75", 
fillcolor="white", style="filled"];
+}

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.md5
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.md5?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.md5 
(added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1Layer__coll__graph.md5 
Mon Apr 22 10:37:18 2019
@@ -0,0 +1 @@
+3c23fa2f2ccee20a8352e46828ef1eca
\ No newline at end of file

Added: 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1LocalUpdater-members.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/classsinga_1_1LocalUpdater-members.html?rev=1857944&view=auto
==============================================================================
--- 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1LocalUpdater-members.html 
(added)
+++ 
incubator/singa/site/trunk/doxygen/html/classsinga_1_1LocalUpdater-members.html 
Mon Apr 22 10:37:18 2019
@@ -0,0 +1,92 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: Member List</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">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="namespacesinga.html">singa</a></li><li 
class="navelem"><a class="el" 
href="classsinga_1_1LocalUpdater.html">LocalUpdater</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::LocalUpdater Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a>, including all 
inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1LocalUpdater.html#a700d688de66ac310dcaa93d0ce9adeb2">Apply</a>(int
 step, const string &amp;name, Tensor &amp;grad, Tensor &amp;value) 
override</td><td class="entry"><a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetOptimizer</b>() (defined in <a 
class="el" href="classsinga_1_1Updater.html">singa::Updater</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LocalUpdater</b>(int 
total_num, Optimizer *opt, std::shared_ptr&lt; Device &gt; dev=defaultDevice) 
(defined in <a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a></td><td 
class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const Updater 
&amp;)=delete (defined in <a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>opt_</b> (defined in 
<a class="el" href="classsinga_1_1Updater.html">singa::Updater</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1LocalUpdater.html#a4b44fb78738f1ed042c3425e5681aa33">Register</a>(const
 string &amp;name, const ParamSpec &amp;specs) override</td><td 
class="entry"><a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Updater.html#a6cc4fdac0b011f0500c0d7bf9ad78e1a">Setup</a>(const
 OptimizerConf &amp;conf)</td><td class="entry"><a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Updater</b>(Optimizer *opt) 
(defined in <a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Updater</b>(const 
Updater &amp;)=delete (defined in <a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~LocalUpdater</b>() override 
(defined in <a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1LocalUpdater.html">singa::LocalUpdater</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Updater</b>() 
(defined in <a class="el" 
href="classsinga_1_1Updater.html">singa::Updater</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>


Reply via email to