You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2015/05/07 15:07:25 UTC

[01/57] [partial] incubator-singa git commit: create github pages

Repository: incubator-singa
Updated Branches:
  refs/heads/gh-pages [created] 8a34fb1f4


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator3-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator3-members.html b/api/classtesting_1_1internal_1_1CartesianProductGenerator3-members.html
new file mode 100644
index 0000000..4329619
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1CartesianProductGenerator3-members.html
@@ -0,0 +1,112 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">CartesianProductGenerator3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Begin</b>() const  (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>CartesianProductGenerator3</b>(const ParamGenerator&lt; T1 &gt; &amp;g1, const ParamGenerator&lt; T2 &gt; &amp;g2, const ParamGenerator&lt; T3 &gt; &amp;g3) (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>End</b>() const  (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParamType</b> typedef (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~CartesianProductGenerator3</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">testing::internal::CartesianProductGenerator3&lt; T1, T2, T3 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~ParamGeneratorInterface</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2, T3 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2, T3 &gt; &gt;</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 Thu May 7 2015 17:15:46 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[20/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParserLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParserLayer-members.html b/api/classsinga_1_1ParserLayer-members.html
new file mode 100644
index 0000000..1469e84
--- /dev/null
+++ b/api/classsinga_1_1ParserLayer-members.html
@@ -0,0 +1,157 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ParserLayer.html">ParserLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ParserLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#abc76f037afc13a17ab07082cfae945de">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_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">ParseRecords</a>(bool training, const vector&lt; Record &gt; &amp;records, Blob&lt; float &gt; *blob)=0</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a>(bool prefetch)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a2c6328bfd198d28854c61392dde05882">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParserLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParserLayer.html b/api/classsinga_1_1ParserLayer.html
new file mode 100644
index 0000000..72595c7
--- /dev/null
+++ b/api/classsinga_1_1ParserLayer.html
@@ -0,0 +1,620 @@
+<!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.6"/>
+<title>Apache SINGA: singa::ParserLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ParserLayer.html">ParserLayer</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_1ParserLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ParserLayer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>parse the input records into Blobs.  
+ <a href="classsinga_1_1ParserLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::ParserLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1ParserLayer.png" usemap="#singa::ParserLayer_map" alt=""/>
+  <map id="singa::ParserLayer_map" name="singa::ParserLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="154,0,298,24"/>
+<area href="classsinga_1_1LabelLayer.html" alt="singa::LabelLayer" shape="rect" coords="0,112,144,136"/>
+<area href="classsinga_1_1MnistImageLayer.html" alt="singa::MnistImageLayer" shape="rect" coords="154,112,298,136"/>
+<area href="classsinga_1_1RGBImageLayer.html" alt="singa::RGBImageLayer" shape="rect" coords="308,112,452,136"/>
+</map>
+ </div></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:a2c6328bfd198d28854c61392dde05882"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a2c6328bfd198d28854c61392dde05882">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a2c6328bfd198d28854c61392dde05882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a2c6328bfd198d28854c61392dde05882">More...</a><br/></td></tr>
+<tr class="separator:a2c6328bfd198d28854c61392dde05882"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cca75c5b4b4b6aec618d694b008c02b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">ParseRecords</a> (bool training, const vector&lt; Record &gt; &amp;records, <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *blob)=0</td></tr>
+<tr class="memdesc:a9cca75c5b4b4b6aec618d694b008c02b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob.  <a href="#a9cca75c5b4b4b6aec618d694b008c02b">More...</a><br/></td></tr>
+<tr class="separator:a9cca75c5b4b4b6aec618d694b008c02b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad87377303fd7e97ed5b2dbac20b2843a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad87377303fd7e97ed5b2dbac20b2843a"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:ad87377303fd7e97ed5b2dbac20b2843a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe2b6dd37ea96e7039ed24e93b28899b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:afe2b6dd37ea96e7039ed24e93b28899b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy function.  <a href="#afe2b6dd37ea96e7039ed24e93b28899b">More...</a><br/></td></tr>
+<tr class="separator:afe2b6dd37ea96e7039ed24e93b28899b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad01d938a87aba0c7a6f8ccf0139bde4c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a> ()</td></tr>
+<tr class="memdesc:ad01d938a87aba0c7a6f8ccf0139bde4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ad01d938a87aba0c7a6f8ccf0139bde4c">More...</a><br/></td></tr>
+<tr class="separator:ad01d938a87aba0c7a6f8ccf0139bde4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1e22e31cb2cd0f09c40227ec7fd8c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1e22e31cb2cd0f09c40227ec7fd8c3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:abb1e22e31cb2cd0f09c40227ec7fd8c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:abb1e22e31cb2cd0f09c40227ec7fd8c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1340b2cf693aa48d823d12228900556b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a1340b2cf693aa48d823d12228900556b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a1340b2cf693aa48d823d12228900556b">More...</a><br/></td></tr>
+<tr class="separator:a1340b2cf693aa48d823d12228900556b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d78cafced1950980b54b0b6e302e87"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a> () const </td></tr>
+<tr class="memdesc:a67d78cafced1950980b54b0b6e302e87"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a67d78cafced1950980b54b0b6e302e87">More...</a><br/></td></tr>
+<tr class="separator:a67d78cafced1950980b54b0b6e302e87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ee00445771065cc4bf569003a33e796"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a4ee00445771065cc4bf569003a33e796"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabeab9a2b4dd113a7271cfba39d83d82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabeab9a2b4dd113a7271cfba39d83d82"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:aabeab9a2b4dd113a7271cfba39d83d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a346797e377211251ae5c268fca093c50"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a346797e377211251ae5c268fca093c50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a346797e377211251ae5c268fca093c50">More...</a><br/></td></tr>
+<tr class="separator:a346797e377211251ae5c268fca093c50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a617f1a2b0e7adfc0266e6fb3c0b1259b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a> (bool training)</td></tr>
+<tr class="memdesc:a617f1a2b0e7adfc0266e6fb3c0b1259b"><td class="mdescLeft">&#160;</td><td class="mdescRight">prefetching is transparent to parsing logics.  <a href="#a617f1a2b0e7adfc0266e6fb3c0b1259b">More...</a><br/></td></tr>
+<tr class="separator:a617f1a2b0e7adfc0266e6fb3c0b1259b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2d822132b5bd7eba1fcd2fa605ee5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2d822132b5bd7eba1fcd2fa605ee5c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a> (bool prefetch)</td></tr>
+<tr class="memdesc:ade2d822132b5bd7eba1fcd2fa605ee5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">must be called before calling <a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature(bool)</a> if Prefetching runs in a separate thread <br/></td></tr>
+<tr class="separator:ade2d822132b5bd7eba1fcd2fa605ee5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>parse the input records into Blobs. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a346797e377211251ae5c268fca093c50"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ParserLayer::ComputeFeature </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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 features of this layer based on connected layers. </p>
+<p>Implement forward propagation for BP; TODO Implement both postive phase and negative phase for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe2b6dd37ea96e7039ed24e93b28899b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ParserLayer::ComputeGradient </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Dummy function. </p>
+<p><a class="el" href="classsinga_1_1ParserLayer.html" title="parse the input records into Blobs. ">ParserLayer</a> does not compute gradients. </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4ee00445771065cc4bf569003a33e796"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classBlob.html">Blob</a>&lt;float&gt;* singa::ParserLayer::mutable_grad </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></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">
+<dl class="section return"><dt>Returns</dt><dd>a pointer to storing neuron grads of this layer for BP </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9cca75c5b4b4b6aec618d694b008c02b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ParserLayer::ParseRecords </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; Record &gt; &amp;&#160;</td>
+          <td class="paramname"><em>records</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td>
+          <td class="paramname"><em>blob</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob. </p>
+<p>This function is called by <a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50" title="Compute features of this layer based on connected layers. ">ComputeFeature(bool, const vector&lt;SLayer&gt;&amp; srclayers)</a> or Prefetch(bool). </p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1RGBImageLayer.html#a292f905d76903ca9fe139a7cca217d10">singa::RGBImageLayer</a>, <a class="el" href="classsinga_1_1MnistImageLayer.html#a8f1cde0c276fdfc6260ea96edd7ff430">singa::MnistImageLayer</a>, and <a class="el" href="classsinga_1_1LabelLayer.html#a6fffae5ecc9a790c70510efec831c51f">singa::LabelLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a67d78cafced1950980b54b0b6e302e87"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual PartitionType singa::ParserLayer::partition_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>return partition type of this layer. </p>
+<p>E.g., kNone, kLayer or kData </p>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a617f1a2b0e7adfc0266e6fb3c0b1259b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::ParserLayer::Prefetching </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>prefetching is transparent to parsing logics. </p>
+<p>users implement parsing logics in ParseRecords worker/training algorithm calls this function to do prefetching in a separate thread. Records are in fact parsed into prefetch_data_, and later copied into data_. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2c6328bfd198d28854c61392dde05882"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ParserLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1RGBImageLayer.html#a578b92e4e894277790bf0d24b8bba9c7">singa::RGBImageLayer</a>, <a class="el" href="classsinga_1_1MnistImageLayer.html#a1dba251022584d60d12092481d162d04">singa::MnistImageLayer</a>, and <a class="el" href="classsinga_1_1LabelLayer.html#aa7cc5abb98cbe0d7066f8336dca384e2">singa::LabelLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad01d938a87aba0c7a6f8ccf0139bde4c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ParserLayer::Setup </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 class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1340b2cf693aa48d823d12228900556b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ParserLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParserLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParserLayer.png b/api/classsinga_1_1ParserLayer.png
new file mode 100644
index 0000000..10690d4
Binary files /dev/null and b/api/classsinga_1_1ParserLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Performance-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Performance-members.html b/api/classsinga_1_1Performance-members.html
new file mode 100644
index 0000000..877e6d0
--- /dev/null
+++ b/api/classsinga_1_1Performance-members.html
@@ -0,0 +1,110 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Performance.html">Performance</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Performance Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Performance.html">singa::Performance</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Performance.html#a80405a2aba8cb49749de9f0e9c94e025">Performance</a>(shared_ptr&lt; NeuralNet &gt; net)</td><td class="entry"><a class="el" href="classsinga_1_1Performance.html">singa::Performance</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Reset</b>() (defined in <a class="el" href="classsinga_1_1Performance.html">singa::Performance</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Performance.html">singa::Performance</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToString</b>() (defined in <a class="el" href="classsinga_1_1Performance.html">singa::Performance</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Performance.html">singa::Performance</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Performance.html#a0868f1798592a8d61c30cee94ce37e87">Update</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Performance.html">singa::Performance</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[30/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1InnerProductLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1InnerProductLayer.html b/api/classsinga_1_1InnerProductLayer.html
new file mode 100644
index 0000000..a33df0b
--- /dev/null
+++ b/api/classsinga_1_1InnerProductLayer.html
@@ -0,0 +1,389 @@
+<!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.6"/>
+<title>Apache SINGA: singa::InnerProductLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1InnerProductLayer.html">InnerProductLayer</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_1InnerProductLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::InnerProductLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>fully connected layer  
+ <a href="classsinga_1_1InnerProductLayer.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">
+Inheritance diagram for singa::InnerProductLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1InnerProductLayer.png" usemap="#singa::InnerProductLayer_map" alt=""/>
+  <map id="singa::InnerProductLayer_map" name="singa::InnerProductLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,154,24"/>
+</map>
+ </div></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:aa63806b1ded9d752350ac01fb3a3aafb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1InnerProductLayer.html#aa63806b1ded9d752350ac01fb3a3aafb">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aa63806b1ded9d752350ac01fb3a3aafb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#aa63806b1ded9d752350ac01fb3a3aafb">More...</a><br/></td></tr>
+<tr class="separator:aa63806b1ded9d752350ac01fb3a3aafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5cb033a8fde53340e58d7408befc6698"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cb033a8fde53340e58d7408befc6698"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1InnerProductLayer.html#a5cb033a8fde53340e58d7408befc6698">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a5cb033a8fde53340e58d7408befc6698"><td class="mdescLeft">&#160;</td><td class="mdescRight">need to reset weight matrix in case of LayerPartition <br/></td></tr>
+<tr class="separator:a5cb033a8fde53340e58d7408befc6698"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f82011418b1e9c2c2f4c11d358c141"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1InnerProductLayer.html#ae8f82011418b1e9c2c2f4c11d358c141">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:ae8f82011418b1e9c2c2f4c11d358c141"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#ae8f82011418b1e9c2c2f4c11d358c141">More...</a><br/></td></tr>
+<tr class="separator:ae8f82011418b1e9c2c2f4c11d358c141"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae440f22733cbdb9fbbb0caa4008fcf6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae440f22733cbdb9fbbb0caa4008fcf6b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:ae440f22733cbdb9fbbb0caa4008fcf6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf18b6c00a4a500afc65672895279c2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf18b6c00a4a500afc65672895279c2b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:acf18b6c00a4a500afc65672895279c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb8362b53f2d515c166af413d708d4d0"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1InnerProductLayer.html#acb8362b53f2d515c166af413d708d4d0">GetParams</a> ()</td></tr>
+<tr class="memdesc:acb8362b53f2d515c166af413d708d4d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#acb8362b53f2d515c166af413d708d4d0">More...</a><br/></td></tr>
+<tr class="separator:acb8362b53f2d515c166af413d708d4d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>fully connected layer </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae8f82011418b1e9c2c2f4c11d358c141"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual ConnectionType singa::InnerProductLayer::connection_type </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em></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>return connection type between two layers. </p>
+<p>Currently support two connections: kOneToOne, and kOneToAll. kOneToOne indicates the dst neuron depends on only one neuron from src layer. kOneToAll indicates the dst neuron depends on all neurons from src layer. TODO support kOneToMany. </p>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acb8362b53f2d515c166af413d708d4d0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual vector&lt;shared_ptr&lt;<a class="el" href="classsinga_1_1Param.html">Param</a>&gt; &gt; singa::InnerProductLayer::GetParams </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 class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Layers that have paramters must overload this function. </p>
+<dl class="section return"><dt>Returns</dt><dd>parameters associated with this layer </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa63806b1ded9d752350ac01fb3a3aafb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::InnerProductLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1InnerProductLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1InnerProductLayer.png b/api/classsinga_1_1InnerProductLayer.png
new file mode 100644
index 0000000..76d890f
Binary files /dev/null and b/api/classsinga_1_1InnerProductLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LMDBDataLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LMDBDataLayer-members.html b/api/classsinga_1_1LMDBDataLayer-members.html
new file mode 100644
index 0000000..6c7bc51
--- /dev/null
+++ b/api/classsinga_1_1LMDBDataLayer-members.html
@@ -0,0 +1,168 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LMDBDataLayer.html">LMDBDataLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::LMDBDataLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>batchsize</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>batchsize_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">singa::DataLayer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">singa::DataLayer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</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_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">singa::DataLayer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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 bgcolor="#f0f0f0"><td class="entry"><b>ConvertDatumToSingleLableImageRecord</b>(const Datum &amp;datum, SingleLabelImageRecord *record) (defined in <a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>has_set_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *layer=nullptr) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>prefetch_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Prefetching</b>(bool training) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>random_skip_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>records</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>records_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>sample</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>sample_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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" class="even"><td class="entry"><b>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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" class="even"><td class="entry"><b>set_prefetch</b>(bool prefetch) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1LMDBDataLayer.html#a715e5072cbf8897531f88bb681698081">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1LMDBDataLayer.html">singa::LMDBDataLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">singa::DataLayer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[05/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestEventListener.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestEventListener.html b/api/classtesting_1_1TestEventListener.html
new file mode 100644
index 0000000..fb983ad
--- /dev/null
+++ b/api/classtesting_1_1TestEventListener.html
@@ -0,0 +1,164 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestEventListener 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1TestEventListener-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestEventListener Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::TestEventListener:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1TestEventListener.png" usemap="#testing::TestEventListener_map" alt=""/>
+  <map id="testing::TestEventListener_map" name="testing::TestEventListener_map">
+<area href="classtesting_1_1EmptyTestEventListener.html" alt="testing::EmptyTestEventListener" shape="rect" coords="0,56,251,80"/>
+<area href="classtesting_1_1internal_1_1PrettyUnitTestResultPrinter.html" alt="testing::internal::PrettyUnitTestResultPrinter" shape="rect" coords="261,56,512,80"/>
+<area href="classtesting_1_1internal_1_1TestEventRepeater.html" alt="testing::internal::TestEventRepeater" shape="rect" coords="522,56,773,80"/>
+<area href="classtesting_1_1internal_1_1XmlUnitTestResultPrinter.html" alt="testing::internal::XmlUnitTestResultPrinter" shape="rect" coords="0,112,251,136"/>
+</map>
+ </div></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:a5f6c84f39851e8a603a2d2e10063816b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f6c84f39851e8a603a2d2e10063816b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestProgramStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test)=0</td></tr>
+<tr class="separator:a5f6c84f39851e8a603a2d2e10063816b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60cc09b7907cb329d152eb5e7133bdeb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60cc09b7907cb329d152eb5e7133bdeb"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestIterationStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test, int iteration)=0</td></tr>
+<tr class="separator:a60cc09b7907cb329d152eb5e7133bdeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6502e534919605be45f26a6daf9a40c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6502e534919605be45f26a6daf9a40c"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsSetUpStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test)=0</td></tr>
+<tr class="separator:aa6502e534919605be45f26a6daf9a40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa1021d75f5dbf3f05c829c1cc520341"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa1021d75f5dbf3f05c829c1cc520341"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsSetUpEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test)=0</td></tr>
+<tr class="separator:aaa1021d75f5dbf3f05c829c1cc520341"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4ed885d63f5bbff8076c1329b3dfe36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4ed885d63f5bbff8076c1329b3dfe36"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestCaseStart</b> (const <a class="el" href="classtesting_1_1TestCase.html">TestCase</a> &amp;test_case)=0</td></tr>
+<tr class="separator:ab4ed885d63f5bbff8076c1329b3dfe36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4f6a0ca16ae75daf385b3b5914e1048"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4f6a0ca16ae75daf385b3b5914e1048"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestStart</b> (const <a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> &amp;test_info)=0</td></tr>
+<tr class="separator:ab4f6a0ca16ae75daf385b3b5914e1048"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a054f8705c883fa120b91473aff38f2ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a054f8705c883fa120b91473aff38f2ee"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestPartResult</b> (const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;test_part_result)=0</td></tr>
+<tr class="separator:a054f8705c883fa120b91473aff38f2ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1c44525ef038500608b5dc2f17099b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1c44525ef038500608b5dc2f17099b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestEnd</b> (const <a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> &amp;test_info)=0</td></tr>
+<tr class="separator:abb1c44525ef038500608b5dc2f17099b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae61985e2ef76ac78379b077be57a9c36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae61985e2ef76ac78379b077be57a9c36"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestCaseEnd</b> (const <a class="el" href="classtesting_1_1TestCase.html">TestCase</a> &amp;test_case)=0</td></tr>
+<tr class="separator:ae61985e2ef76ac78379b077be57a9c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a468b5e6701bcb86cb2c956caadbba5e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a468b5e6701bcb86cb2c956caadbba5e4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsTearDownStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test)=0</td></tr>
+<tr class="separator:a468b5e6701bcb86cb2c956caadbba5e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ea04fa7f447865ba76df35e12ba2092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ea04fa7f447865ba76df35e12ba2092"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsTearDownEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test)=0</td></tr>
+<tr class="separator:a9ea04fa7f447865ba76df35e12ba2092"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a550fdb3e55726e4cefa09f5697941425"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550fdb3e55726e4cefa09f5697941425"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestIterationEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test, int iteration)=0</td></tr>
+<tr class="separator:a550fdb3e55726e4cefa09f5697941425"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad15b6246d94c268e233487a86463ef3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad15b6246d94c268e233487a86463ef3d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestProgramEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;unit_test)=0</td></tr>
+<tr class="separator:ad15b6246d94c268e233487a86463ef3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestEventListener.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestEventListener.png b/api/classtesting_1_1TestEventListener.png
new file mode 100644
index 0000000..7056976
Binary files /dev/null and b/api/classtesting_1_1TestEventListener.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestEventListeners-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestEventListeners-members.html b/api/classtesting_1_1TestEventListeners-members.html
new file mode 100644
index 0000000..74b74df
--- /dev/null
+++ b/api/classtesting_1_1TestEventListeners-members.html
@@ -0,0 +1,118 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestEventListeners.html">TestEventListeners</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestEventListeners Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Append</b>(TestEventListener *listener) (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>default_result_printer</b>() const  (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>default_xml_generator</b>() const  (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::DefaultGlobalTestPartResultReporter</b> (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::NoExecDeathTest</b> (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::TestEventListenersAccessor</b> (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::UnitTestImpl</b> (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Release</b>(TestEventListener *listener) (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TestCase</b> (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestEventListeners</b>() (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TestInfo</b> (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~TestEventListeners</b>() (defined in <a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListeners.html">testing::TestEventListeners</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestEventListeners.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestEventListeners.html b/api/classtesting_1_1TestEventListeners.html
new file mode 100644
index 0000000..c826e87
--- /dev/null
+++ b/api/classtesting_1_1TestEventListeners.html
@@ -0,0 +1,148 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestEventListeners 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestEventListeners.html">TestEventListeners</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1TestEventListeners-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestEventListeners Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a1207dce74d64c1c39ffa6105560536a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1207dce74d64c1c39ffa6105560536a0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Append</b> (<a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a> *listener)</td></tr>
+<tr class="separator:a1207dce74d64c1c39ffa6105560536a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a038c9fa1975f84d6f3d25b52bc7bccdd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a038c9fa1975f84d6f3d25b52bc7bccdd"></a>
+<a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Release</b> (<a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a> *listener)</td></tr>
+<tr class="separator:a038c9fa1975f84d6f3d25b52bc7bccdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a69b6a19e27d53d9ef4683c05e9f75a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a69b6a19e27d53d9ef4683c05e9f75a"></a>
+<a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>default_result_printer</b> () const </td></tr>
+<tr class="separator:a0a69b6a19e27d53d9ef4683c05e9f75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9867c9af50e8d2934a2475286c7cebc5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9867c9af50e8d2934a2475286c7cebc5"></a>
+<a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>default_xml_generator</b> () const </td></tr>
+<tr class="separator:a9867c9af50e8d2934a2475286c7cebc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:aff779e55b06adfa7c0088bd10253f0f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff779e55b06adfa7c0088bd10253f0f0"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>TestCase</b></td></tr>
+<tr class="separator:aff779e55b06adfa7c0088bd10253f0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c49c2cdb6c328e6b709b4542f23de3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c49c2cdb6c328e6b709b4542f23de3c"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>TestInfo</b></td></tr>
+<tr class="separator:a4c49c2cdb6c328e6b709b4542f23de3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abae39633da9932847b41cb80efd62115"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abae39633da9932847b41cb80efd62115"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::DefaultGlobalTestPartResultReporter</b></td></tr>
+<tr class="separator:abae39633da9932847b41cb80efd62115"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afddba49fdf3f493532b4d5efb9814f4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afddba49fdf3f493532b4d5efb9814f4e"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::NoExecDeathTest</b></td></tr>
+<tr class="separator:afddba49fdf3f493532b4d5efb9814f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addbc107b6b445617c880182bd4f44cf9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addbc107b6b445617c880182bd4f44cf9"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::TestEventListenersAccessor</b></td></tr>
+<tr class="separator:addbc107b6b445617c880182bd4f44cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc0a5e7573fd6ae7ad1878613bb86853"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::UnitTestImpl</b></td></tr>
+<tr class="separator:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestInfo-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestInfo-members.html b/api/classtesting_1_1TestInfo-members.html
new file mode 100644
index 0000000..9a4c698
--- /dev/null
+++ b/api/classtesting_1_1TestInfo-members.html
@@ -0,0 +1,119 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestInfo Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::MakeAndRegisterTestInfo</b> (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::StreamingListenerTest</b> (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::UnitTestImpl</b> (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_reportable</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>name</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>result</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>should_run</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Test</b> (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>test_case_name</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestCase</b> (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type_param</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_param</b>() const  (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~TestInfo</b>() (defined in <a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestInfo.html">testing::TestInfo</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestInfo.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestInfo.html b/api/classtesting_1_1TestInfo.html
new file mode 100644
index 0000000..f6a9d75
--- /dev/null
+++ b/api/classtesting_1_1TestInfo.html
@@ -0,0 +1,154 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestInfo 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1TestInfo-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestInfo Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a26d22556d04b94c9cd15e28d74fef91c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26d22556d04b94c9cd15e28d74fef91c"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>test_case_name</b> () const </td></tr>
+<tr class="separator:a26d22556d04b94c9cd15e28d74fef91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3d24cad310f0cde29a80b9a83949ff5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3d24cad310f0cde29a80b9a83949ff5"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> () const </td></tr>
+<tr class="separator:ab3d24cad310f0cde29a80b9a83949ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af15d5c533a7237ffc183bc4c924dfcf4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af15d5c533a7237ffc183bc4c924dfcf4"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>type_param</b> () const </td></tr>
+<tr class="separator:af15d5c533a7237ffc183bc4c924dfcf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9671fbc0effcb32e98803888dc166a66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9671fbc0effcb32e98803888dc166a66"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>value_param</b> () const </td></tr>
+<tr class="separator:a9671fbc0effcb32e98803888dc166a66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a240c9fb051d7b0586ed380c6b4e729e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a240c9fb051d7b0586ed380c6b4e729e4"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>should_run</b> () const </td></tr>
+<tr class="separator:a240c9fb051d7b0586ed380c6b4e729e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ad90aeebb1d6fe3a43c6e3e3427e382"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ad90aeebb1d6fe3a43c6e3e3427e382"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_reportable</b> () const </td></tr>
+<tr class="separator:a7ad90aeebb1d6fe3a43c6e3e3427e382"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addea8766df3b8abe4cc4103218a49a65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addea8766df3b8abe4cc4103218a49a65"></a>
+const <a class="el" href="classtesting_1_1TestResult.html">TestResult</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>result</b> () const </td></tr>
+<tr class="separator:addea8766df3b8abe4cc4103218a49a65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a5b78b1c2e1fa07ffed92da365593eaa4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b78b1c2e1fa07ffed92da365593eaa4"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>Test</b></td></tr>
+<tr class="separator:a5b78b1c2e1fa07ffed92da365593eaa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff779e55b06adfa7c0088bd10253f0f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff779e55b06adfa7c0088bd10253f0f0"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>TestCase</b></td></tr>
+<tr class="separator:aff779e55b06adfa7c0088bd10253f0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc0a5e7573fd6ae7ad1878613bb86853"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::UnitTestImpl</b></td></tr>
+<tr class="separator:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc037d188dab349a94868991955c9cd4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc037d188dab349a94868991955c9cd4"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::StreamingListenerTest</b></td></tr>
+<tr class="separator:adc037d188dab349a94868991955c9cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e27fa5e97044d379b1e3b2a753f56f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e27fa5e97044d379b1e3b2a753f56f8"></a>
+<a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>internal::MakeAndRegisterTestInfo</b> (const char *test_case_name, const char *name, const char *type_param, const char *value_param, internal::TypeId fixture_class_id, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc, <a class="el" href="classtesting_1_1internal_1_1TestFactoryBase.html">internal::TestFactoryBase</a> *factory)</td></tr>
+<tr class="separator:a3e27fa5e97044d379b1e3b2a753f56f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResult-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResult-members.html b/api/classtesting_1_1TestPartResult-members.html
new file mode 100644
index 0000000..da19e19
--- /dev/null
+++ b/api/classtesting_1_1TestPartResult-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestPartResult Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>failed</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>fatally_failed</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>file_name</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kFatalFailure</b> enum value (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kNonFatalFailure</b> enum value (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kSuccess</b> enum value (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>line_number</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>message</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nonfatally_failed</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>passed</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>summary</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestPartResult</b>(Type a_type, const char *a_file_name, int a_line_number, const char *a_message) (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Type</b> enum name (defined in <a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResult.html">testing::TestPartResult</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResult.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResult.html b/api/classtesting_1_1TestPartResult.html
new file mode 100644
index 0000000..1b3a707
--- /dev/null
+++ b/api/classtesting_1_1TestPartResult.html
@@ -0,0 +1,153 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestPartResult 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1TestPartResult-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestPartResult Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a65ae656b33fdfdfffaf34858778a52d5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>Type</b> { <b>kSuccess</b>, 
+<b>kNonFatalFailure</b>, 
+<b>kFatalFailure</b>
+ }</td></tr>
+<tr class="separator:a65ae656b33fdfdfffaf34858778a52d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a6409eb519c1cd514aab2426c8f40737f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6409eb519c1cd514aab2426c8f40737f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>TestPartResult</b> (Type a_type, const char *a_file_name, int a_line_number, const char *a_message)</td></tr>
+<tr class="separator:a6409eb519c1cd514aab2426c8f40737f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae852bf8693f066078c74c34345531940"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae852bf8693f066078c74c34345531940"></a>
+Type&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:ae852bf8693f066078c74c34345531940"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d8742dc28ddb880cd2391edb9fc2c9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d8742dc28ddb880cd2391edb9fc2c9b"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>file_name</b> () const </td></tr>
+<tr class="separator:a5d8742dc28ddb880cd2391edb9fc2c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a174900cf4403d23784af34f50e7b0a46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a174900cf4403d23784af34f50e7b0a46"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>line_number</b> () const </td></tr>
+<tr class="separator:a174900cf4403d23784af34f50e7b0a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0d4f960b453ce087c581fe13817b2a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0d4f960b453ce087c581fe13817b2a3"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>summary</b> () const </td></tr>
+<tr class="separator:af0d4f960b453ce087c581fe13817b2a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae73962246be4d200e2c1d04246a708a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae73962246be4d200e2c1d04246a708a"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>message</b> () const </td></tr>
+<tr class="separator:aae73962246be4d200e2c1d04246a708a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a901bd62d9fbe7f39826a9d02ab2bdaec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a901bd62d9fbe7f39826a9d02ab2bdaec"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>passed</b> () const </td></tr>
+<tr class="separator:a901bd62d9fbe7f39826a9d02ab2bdaec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf835515fb53eb1aa01c1798b05e61f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf835515fb53eb1aa01c1798b05e61f6"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>failed</b> () const </td></tr>
+<tr class="separator:aaf835515fb53eb1aa01c1798b05e61f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bb08c87fbc1664f9fcca1504339ed29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7bb08c87fbc1664f9fcca1504339ed29"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>nonfatally_failed</b> () const </td></tr>
+<tr class="separator:a7bb08c87fbc1664f9fcca1504339ed29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34d31718b5fc6c06f73d03e8dbb1aa9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34d31718b5fc6c06f73d03e8dbb1aa9e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>fatally_failed</b> () const </td></tr>
+<tr class="separator:a34d31718b5fc6c06f73d03e8dbb1aa9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResultArray-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResultArray-members.html b/api/classtesting_1_1TestPartResultArray-members.html
new file mode 100644
index 0000000..b7ed262
--- /dev/null
+++ b/api/classtesting_1_1TestPartResultArray-members.html
@@ -0,0 +1,110 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestPartResultArray.html">TestPartResultArray</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestPartResultArray Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Append</b>(const TestPartResult &amp;result) (defined in <a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetTestPartResult</b>(int index) const  (defined in <a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() const  (defined in <a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestPartResultArray</b>() (defined in <a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultArray.html">testing::TestPartResultArray</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[18/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PoolingLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PoolingLayer.html b/api/classsinga_1_1PoolingLayer.html
new file mode 100644
index 0000000..7fe325d
--- /dev/null
+++ b/api/classsinga_1_1PoolingLayer.html
@@ -0,0 +1,400 @@
+<!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.6"/>
+<title>Apache SINGA: singa::PoolingLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1PoolingLayer.html">PoolingLayer</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_1PoolingLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::PoolingLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::PoolingLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1PoolingLayer.png" usemap="#singa::PoolingLayer_map" alt=""/>
+  <map id="singa::PoolingLayer_map" name="singa::PoolingLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,123,24"/>
+</map>
+ </div></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:a7d074abe2fb6fc0cf73e84eae80f269a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PoolingLayer.html#a7d074abe2fb6fc0cf73e84eae80f269a">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a7d074abe2fb6fc0cf73e84eae80f269a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a7d074abe2fb6fc0cf73e84eae80f269a">More...</a><br/></td></tr>
+<tr class="separator:a7d074abe2fb6fc0cf73e84eae80f269a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa106d86ff430bd174d07adafccb79b82"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PoolingLayer.html#aa106d86ff430bd174d07adafccb79b82">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aa106d86ff430bd174d07adafccb79b82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#aa106d86ff430bd174d07adafccb79b82">More...</a><br/></td></tr>
+<tr class="separator:aa106d86ff430bd174d07adafccb79b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33d811b961feb2473996068194f62a4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33d811b961feb2473996068194f62a4c"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a33d811b961feb2473996068194f62a4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51bfa06b1b6c9143cb2d135b27bc1008"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51bfa06b1b6c9143cb2d135b27bc1008"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a51bfa06b1b6c9143cb2d135b27bc1008"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:ae7d1e503b9c0238f56f1e6a450b804b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7d1e503b9c0238f56f1e6a450b804b9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>kernel_</b></td></tr>
+<tr class="separator:ae7d1e503b9c0238f56f1e6a450b804b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb5f7123c2f3e4f0ae944be35e180b54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb5f7123c2f3e4f0ae944be35e180b54"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>pad_</b></td></tr>
+<tr class="separator:acb5f7123c2f3e4f0ae944be35e180b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2ef52abffc9ed630ed239a1ca078664"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2ef52abffc9ed630ed239a1ca078664"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>stride_</b></td></tr>
+<tr class="separator:ae2ef52abffc9ed630ed239a1ca078664"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acfb268f443605e73bba7cdd881965509"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfb268f443605e73bba7cdd881965509"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize_</b></td></tr>
+<tr class="separator:acfb268f443605e73bba7cdd881965509"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2fa7562b2057f991bb0cdf0adba2fda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2fa7562b2057f991bb0cdf0adba2fda"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>channels_</b></td></tr>
+<tr class="separator:ad2fa7562b2057f991bb0cdf0adba2fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab368d953822a67b29d6edad897332b07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab368d953822a67b29d6edad897332b07"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>height_</b></td></tr>
+<tr class="separator:ab368d953822a67b29d6edad897332b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af62378d993c2a00012138d4a81fb6368"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af62378d993c2a00012138d4a81fb6368"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>width_</b></td></tr>
+<tr class="separator:af62378d993c2a00012138d4a81fb6368"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d5d51f9aea995780c47859943b42da5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d5d51f9aea995780c47859943b42da5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>pooled_height_</b></td></tr>
+<tr class="separator:a6d5d51f9aea995780c47859943b42da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae78dce40de41970b8fe2889b5d4a0daf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae78dce40de41970b8fe2889b5d4a0daf"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>pooled_width_</b></td></tr>
+<tr class="separator:ae78dce40de41970b8fe2889b5d4a0daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31a4b81e8ee622297d7339766cc03134"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31a4b81e8ee622297d7339766cc03134"></a>
+PoolingProto_PoolMethod&#160;</td><td class="memItemRight" valign="bottom"><b>pool_</b></td></tr>
+<tr class="separator:a31a4b81e8ee622297d7339766cc03134"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a7d074abe2fb6fc0cf73e84eae80f269a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::PoolingLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa106d86ff430bd174d07adafccb79b82"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::PoolingLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PoolingLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PoolingLayer.png b/api/classsinga_1_1PoolingLayer.png
new file mode 100644
index 0000000..efd9ff1
Binary files /dev/null and b/api/classsinga_1_1PoolingLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1RGBImageLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1RGBImageLayer-members.html b/api/classsinga_1_1RGBImageLayer-members.html
new file mode 100644
index 0000000..4827c4b
--- /dev/null
+++ b/api/classsinga_1_1RGBImageLayer-members.html
@@ -0,0 +1,157 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1RGBImageLayer.html">RGBImageLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::RGBImageLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1RGBImageLayer.html">singa::RGBImageLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#abc76f037afc13a17ab07082cfae945de">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_1RGBImageLayer.html#a292f905d76903ca9fe139a7cca217d10">ParseRecords</a>(bool training, const vector&lt; Record &gt; &amp;records, Blob&lt; float &gt; *blob)</td><td class="entry"><a class="el" href="classsinga_1_1RGBImageLayer.html">singa::RGBImageLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a>(bool prefetch)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1RGBImageLayer.html#a578b92e4e894277790bf0d24b8bba9c7">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1RGBImageLayer.html">singa::RGBImageLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">singa::ParserLayer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[41/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan-members.html b/api/classmshadow_1_1expr_1_1Plan-members.html
new file mode 100644
index 0000000..ce245b8
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan-members.html
@@ -0,0 +1,107 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan.html">Plan</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; ExpType &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1Plan.html">mshadow::expr::Plan&lt; ExpType &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan.html#aa68c7e94b91014ca4f9b3bb8e633be17">Eval</a>(index_t y, index_t x) const </td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan.html">mshadow::expr::Plan&lt; ExpType &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan.html b/api/classmshadow_1_1expr_1_1Plan.html
new file mode 100644
index 0000000..cdc28b4
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan.html
@@ -0,0 +1,127 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::Plan&lt; ExpType &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan.html">Plan</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1Plan-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; ExpType &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This part of code gives plan that can be used to carry out execution.  
+ <a href="classmshadow_1_1expr_1_1Plan.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a>&gt;</code></p>
+<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:aa68c7e94b91014ca4f9b3bb8e633be17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa68c7e94b91014ca4f9b3bb8e633be17"></a>
+MSHADOW_XINLINE <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1Plan.html#aa68c7e94b91014ca4f9b3bb8e633be17">Eval</a> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="memdesc:aa68c7e94b91014ca4f9b3bb8e633be17"><td class="mdescLeft">&#160;</td><td class="mdescRight">evaluate the expression at index [y][x] to be implemented by SubType <br/></td></tr>
+<tr class="separator:aa68c7e94b91014ca4f9b3bb8e633be17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename ExpType&gt;<br/>
+class mshadow::expr::Plan&lt; ExpType &gt;</h3>
+
+<p>This part of code gives plan that can be used to carry out execution. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html
new file mode 100644
index 0000000..1a352db
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">Plan< BinaryMapExp< OP, TA, TB, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Plan</b>(const Plan&lt; TA &gt; &amp;lhs, const Plan&lt; TB &gt; &amp;rhs) (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html b/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html
new file mode 100644
index 0000000..8aadeea
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html
@@ -0,0 +1,119 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">Plan< BinaryMapExp< OP, TA, TB, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:ae2354430a82bca10620facf4958be038"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2354430a82bca10620facf4958be038"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Plan</b> (const <a class="el" href="classmshadow_1_1expr_1_1Plan.html">Plan</a>&lt; TA &gt; &amp;lhs, const <a class="el" href="classmshadow_1_1expr_1_1Plan.html">Plan</a>&lt; TB &gt; &amp;rhs)</td></tr>
+<tr class="separator:ae2354430a82bca10620facf4958be038"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a436181f2e41a47c1e0ee80d5dc6e2cba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a436181f2e41a47c1e0ee80d5dc6e2cba"></a>
+MSHADOW_XINLINE <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a436181f2e41a47c1e0ee80d5dc6e2cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4-members.html b/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4-members.html
new file mode 100644
index 0000000..232b6f8
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">Plan< ScalarExp ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; ScalarExp &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">mshadow::expr::Plan&lt; ScalarExp &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html#aaf312a5fcf2f68e3de68a2a35079680a">Eval</a>(index_t y, index_t x) const </td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">mshadow::expr::Plan&lt; ScalarExp &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Plan</b>(real_t scalar) (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">mshadow::expr::Plan&lt; ScalarExp &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">mshadow::expr::Plan&lt; ScalarExp &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html b/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html
new file mode 100644
index 0000000..7a0f1f8
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::Plan&lt; ScalarExp &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">Plan< ScalarExp ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; ScalarExp &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a9d4b7d1df4dc1b70a0a2321fcb504899"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d4b7d1df4dc1b70a0a2321fcb504899"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Plan</b> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> scalar)</td></tr>
+<tr class="separator:a9d4b7d1df4dc1b70a0a2321fcb504899"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf312a5fcf2f68e3de68a2a35079680a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf312a5fcf2f68e3de68a2a35079680a"></a>
+MSHADOW_XINLINE <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html#aaf312a5fcf2f68e3de68a2a35079680a">Eval</a> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="memdesc:aaf312a5fcf2f68e3de68a2a35079680a"><td class="mdescLeft">&#160;</td><td class="mdescRight">evaluate at [y][x] <br/></td></tr>
+<tr class="separator:aaf312a5fcf2f68e3de68a2a35079680a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4-members.html
new file mode 100644
index 0000000..06b4aae
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">Plan< Tensor< Device, 1 > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Plan</b>(const Tensor&lt; Device, 1 &gt; &amp;t) (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html
new file mode 100644
index 0000000..a0d93d2
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html
@@ -0,0 +1,119 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">Plan< Tensor< Device, 1 > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; Tensor&lt; Device, 1 &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a2b99d423af1df3ce9309640175ab0f63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b99d423af1df3ce9309640175ab0f63"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Plan</b> (const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1 &gt; &amp;t)</td></tr>
+<tr class="separator:a2b99d423af1df3ce9309640175ab0f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20fe90f93916cded573dd05d261ab637"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20fe90f93916cded573dd05d261ab637"></a>
+MSHADOW_XINLINE <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a20fe90f93916cded573dd05d261ab637"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html
new file mode 100644
index 0000000..8712166
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">Plan< Tensor< Device, dim > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Plan</b>(const Tensor&lt; Device, dim &gt; &amp;t) (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html
new file mode 100644
index 0000000..937091e
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html
@@ -0,0 +1,119 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">Plan< Tensor< Device, dim > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; Tensor&lt; Device, dim &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a92b39618c942b485b07aaf4ef547b48e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92b39618c942b485b07aaf4ef547b48e"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Plan</b> (const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dim &gt; &amp;t)</td></tr>
+<tr class="separator:a92b39618c942b485b07aaf4ef547b48e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b98bd3e37f705514f44efac74cda963"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b98bd3e37f705514f44efac74cda963"></a>
+MSHADOW_XINLINE <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a6b98bd3e37f705514f44efac74cda963"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html
new file mode 100644
index 0000000..d7038f3
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">Plan< UnaryMapExp< OP, TA, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Plan</b>(const Plan&lt; TA &gt; &amp;src) (defined in <a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[17/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1RGBImageLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1RGBImageLayer.html b/api/classsinga_1_1RGBImageLayer.html
new file mode 100644
index 0000000..91598b9
--- /dev/null
+++ b/api/classsinga_1_1RGBImageLayer.html
@@ -0,0 +1,375 @@
+<!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.6"/>
+<title>Apache SINGA: singa::RGBImageLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1RGBImageLayer.html">RGBImageLayer</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_1RGBImageLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::RGBImageLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::RGBImageLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1RGBImageLayer.png" usemap="#singa::RGBImageLayer_map" alt=""/>
+  <map id="singa::RGBImageLayer_map" name="singa::RGBImageLayer_map">
+<area href="classsinga_1_1ParserLayer.html" title="parse the input records into Blobs. " alt="singa::ParserLayer" shape="rect" coords="0,56,139,80"/>
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,139,24"/>
+</map>
+ </div></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:a578b92e4e894277790bf0d24b8bba9c7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1RGBImageLayer.html#a578b92e4e894277790bf0d24b8bba9c7">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a578b92e4e894277790bf0d24b8bba9c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a578b92e4e894277790bf0d24b8bba9c7">More...</a><br/></td></tr>
+<tr class="separator:a578b92e4e894277790bf0d24b8bba9c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a292f905d76903ca9fe139a7cca217d10"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1RGBImageLayer.html#a292f905d76903ca9fe139a7cca217d10">ParseRecords</a> (bool training, const vector&lt; Record &gt; &amp;records, <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *blob)</td></tr>
+<tr class="memdesc:a292f905d76903ca9fe139a7cca217d10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob.  <a href="#a292f905d76903ca9fe139a7cca217d10">More...</a><br/></td></tr>
+<tr class="separator:a292f905d76903ca9fe139a7cca217d10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1ParserLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1ParserLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td></tr>
+<tr class="memitem:ad87377303fd7e97ed5b2dbac20b2843a inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad87377303fd7e97ed5b2dbac20b2843a"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:ad87377303fd7e97ed5b2dbac20b2843a inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy function.  <a href="#afe2b6dd37ea96e7039ed24e93b28899b">More...</a><br/></td></tr>
+<tr class="separator:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a> ()</td></tr>
+<tr class="memdesc:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ad01d938a87aba0c7a6f8ccf0139bde4c">More...</a><br/></td></tr>
+<tr class="separator:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1e22e31cb2cd0f09c40227ec7fd8c3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a1340b2cf693aa48d823d12228900556b">More...</a><br/></td></tr>
+<tr class="separator:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a> () const </td></tr>
+<tr class="memdesc:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a67d78cafced1950980b54b0b6e302e87">More...</a><br/></td></tr>
+<tr class="separator:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ee00445771065cc4bf569003a33e796 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a4ee00445771065cc4bf569003a33e796 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabeab9a2b4dd113a7271cfba39d83d82 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabeab9a2b4dd113a7271cfba39d83d82"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:aabeab9a2b4dd113a7271cfba39d83d82 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a346797e377211251ae5c268fca093c50">More...</a><br/></td></tr>
+<tr class="separator:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a> (bool training)</td></tr>
+<tr class="memdesc:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">prefetching is transparent to parsing logics.  <a href="#a617f1a2b0e7adfc0266e6fb3c0b1259b">More...</a><br/></td></tr>
+<tr class="separator:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2d822132b5bd7eba1fcd2fa605ee5c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a> (bool prefetch)</td></tr>
+<tr class="memdesc:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">must be called before calling <a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature(bool)</a> if Prefetching runs in a separate thread <br/></td></tr>
+<tr class="separator:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a292f905d76903ca9fe139a7cca217d10"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::RGBImageLayer::ParseRecords </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; Record &gt; &amp;&#160;</td>
+          <td class="paramname"><em>records</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td>
+          <td class="paramname"><em>blob</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob. </p>
+<p>This function is called by <a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50" title="Compute features of this layer based on connected layers. ">ComputeFeature(bool, const vector&lt;SLayer&gt;&amp; srclayers)</a> or Prefetch(bool). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">singa::ParserLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a578b92e4e894277790bf0d24b8bba9c7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::RGBImageLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1ParserLayer.html#a2c6328bfd198d28854c61392dde05882">singa::ParserLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1RGBImageLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1RGBImageLayer.png b/api/classsinga_1_1RGBImageLayer.png
new file mode 100644
index 0000000..9a48e78
Binary files /dev/null and b/api/classsinga_1_1RGBImageLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1RMSPropUpdater-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1RMSPropUpdater-members.html b/api/classsinga_1_1RMSPropUpdater-members.html
new file mode 100644
index 0000000..91bf21e
--- /dev/null
+++ b/api/classsinga_1_1RMSPropUpdater-members.html
@@ -0,0 +1,114 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1RMSPropUpdater.html">RMSPropUpdater</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::RMSPropUpdater Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base_lr_</b> (defined in <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>delta_</b> (defined in <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetLearningRate</b>(int step) (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>Init</b>(const UpdaterProto &amp;proto) (defined in <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>rho_</b> (defined in <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Update</b>(int step, shared_ptr&lt; Param &gt; param, float grad_scale=1.0f) (defined in <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>weight_decay_</b> (defined in <a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1RMSPropUpdater.html">singa::RMSPropUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1RMSPropUpdater.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1RMSPropUpdater.html b/api/classsinga_1_1RMSPropUpdater.html
new file mode 100644
index 0000000..e35ddd2
--- /dev/null
+++ b/api/classsinga_1_1RMSPropUpdater.html
@@ -0,0 +1,152 @@
+<!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.6"/>
+<title>Apache SINGA: singa::RMSPropUpdater 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1RMSPropUpdater.html">RMSPropUpdater</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_1RMSPropUpdater-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::RMSPropUpdater Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::RMSPropUpdater:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1RMSPropUpdater.png" usemap="#singa::RMSPropUpdater_map" alt=""/>
+  <map id="singa::RMSPropUpdater_map" name="singa::RMSPropUpdater_map">
+<area href="classsinga_1_1Updater.html" title="Updater for Param. " alt="singa::Updater" shape="rect" coords="0,0,146,24"/>
+</map>
+ </div></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:aa2203c9dad921df30ea650bc7b76ff8d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2203c9dad921df30ea650bc7b76ff8d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (const UpdaterProto &amp;proto)</td></tr>
+<tr class="separator:aa2203c9dad921df30ea650bc7b76ff8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a4b2a4b87d7c53b0d7d6681fb4fc22f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a4b2a4b87d7c53b0d7d6681fb4fc22f"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (int step, shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, float grad_scale=1.0f)</td></tr>
+<tr class="separator:a2a4b2a4b87d7c53b0d7d6681fb4fc22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4189828903aa55cddefe468575f9f2c8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>GetLearningRate</b> (int step)</td></tr>
+<tr class="separator:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><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:a6ad2071a1c7e9172f4a51de5627a20a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ad2071a1c7e9172f4a51de5627a20a3"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>base_lr_</b></td></tr>
+<tr class="separator:a6ad2071a1c7e9172f4a51de5627a20a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a0f645bd30da49da8c1ea868fef8cd6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a0f645bd30da49da8c1ea868fef8cd6"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>delta_</b></td></tr>
+<tr class="separator:a6a0f645bd30da49da8c1ea868fef8cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58fac4a8f94f9c7c886480a8fcfcf055"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58fac4a8f94f9c7c886480a8fcfcf055"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>rho_</b></td></tr>
+<tr class="separator:a58fac4a8f94f9c7c886480a8fcfcf055"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c224983549923f6fe9cf7510eea80ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c224983549923f6fe9cf7510eea80ab"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>weight_decay_</b></td></tr>
+<tr class="separator:a4c224983549923f6fe9cf7510eea80ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad5f46dc2f78aa73b6698a11447aad2d"></a>
+UpdaterProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="updater_8h_source.html">updater.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1RMSPropUpdater.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1RMSPropUpdater.png b/api/classsinga_1_1RMSPropUpdater.png
new file mode 100644
index 0000000..32e1d8e
Binary files /dev/null and b/api/classsinga_1_1RMSPropUpdater.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ReLULayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ReLULayer-members.html b/api/classsinga_1_1ReLULayer-members.html
new file mode 100644
index 0000000..68a0d2a
--- /dev/null
+++ b/api/classsinga_1_1ReLULayer-members.html
@@ -0,0 +1,156 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ReLULayer.html">ReLULayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ReLULayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ReLULayer.html#aa9bb1353ba3d064edd1f89d5918442aa">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ReLULayer.html#ad3098f5e7619f7746e3ca6836e0fe979">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ReLULayer.html">singa::ReLULayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[25/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LossLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LossLayer.html b/api/classsinga_1_1LossLayer.html
new file mode 100644
index 0000000..5b7492f
--- /dev/null
+++ b/api/classsinga_1_1LossLayer.html
@@ -0,0 +1,409 @@
+<!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.6"/>
+<title>Apache SINGA: singa::LossLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LossLayer.html">LossLayer</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_1LossLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::LossLayer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Loss layer to calculate loss and other metrics, e.g., precison.  
+ <a href="classsinga_1_1LossLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::LossLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1LossLayer.png" usemap="#singa::LossLayer_map" alt=""/>
+  <map id="singa::LossLayer_map" name="singa::LossLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,151,24"/>
+<area href="classsinga_1_1SoftmaxLossLayer.html" alt="singa::SoftmaxLossLayer" shape="rect" coords="0,112,151,136"/>
+</map>
+ </div></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:a16f16d5b289cb2d4bee9a9bee21e3b7c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LossLayer.html#a16f16d5b289cb2d4bee9a9bee21e3b7c">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a16f16d5b289cb2d4bee9a9bee21e3b7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a16f16d5b289cb2d4bee9a9bee21e3b7c">More...</a><br/></td></tr>
+<tr class="separator:a16f16d5b289cb2d4bee9a9bee21e3b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adefb43c93a024c3b7fc558abc291dc49"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LossLayer.html#adefb43c93a024c3b7fc558abc291dc49">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:adefb43c93a024c3b7fc558abc291dc49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#adefb43c93a024c3b7fc558abc291dc49">More...</a><br/></td></tr>
+<tr class="separator:adefb43c93a024c3b7fc558abc291dc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaedd08096c3e1f2bae5cccf75cdf3382"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:aaedd08096c3e1f2bae5cccf75cdf3382"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7291fdd251c7c50f6ed6909a9f34601b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7291fdd251c7c50f6ed6909a9f34601b"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:a7291fdd251c7c50f6ed6909a9f34601b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abecfaa9371c59b37a45fcb618a69fb0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abecfaa9371c59b37a45fcb618a69fb0e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:abecfaa9371c59b37a45fcb618a69fb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e32443489991822a191c988bf87979d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e32443489991822a191c988bf87979d"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>metric</b> () const </td></tr>
+<tr class="separator:a1e32443489991822a191c988bf87979d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:a7e32d565d74f7cce684a36d1b399f30c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e32d565d74f7cce684a36d1b399f30c"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>metric_</b></td></tr>
+<tr class="separator:a7e32d565d74f7cce684a36d1b399f30c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>Loss layer to calculate loss and other metrics, e.g., precison. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aaedd08096c3e1f2bae5cccf75cdf3382"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classBlob.html">Blob</a>&lt;float&gt;* singa::LossLayer::mutable_grad </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></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">
+<dl class="section return"><dt>Returns</dt><dd>a pointer to storing neuron grads of this layer for BP </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a16f16d5b289cb2d4bee9a9bee21e3b7c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LossLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1SoftmaxLossLayer.html#af92ba2d30039d508cada194a557067a7">singa::SoftmaxLossLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adefb43c93a024c3b7fc558abc291dc49"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LossLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1SoftmaxLossLayer.html#aceb8d0a51d606b0ac6bd4c13e77af01a">singa::SoftmaxLossLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LossLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LossLayer.png b/api/classsinga_1_1LossLayer.png
new file mode 100644
index 0000000..36da498
Binary files /dev/null and b/api/classsinga_1_1LossLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1MnistImageLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1MnistImageLayer-members.html b/api/classsinga_1_1MnistImageLayer-members.html
new file mode 100644
index 0000000..ab60929
--- /dev/null
+++ b/api/classsinga_1_1MnistImageLayer-members.html
@@ -0,0 +1,166 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1MnistImageLayer.html">MnistImageLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::MnistImageLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>alpha_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>beta_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>elastic_freq_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>gamma_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</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#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>kernel_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#abc76f037afc13a17ab07082cfae945de">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"><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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>norm_a_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>norm_b_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html#a8f1cde0c276fdfc6260ea96edd7ff430">ParseRecords</a>(bool training, const vector&lt; Record &gt; &amp;records, Blob&lt; float &gt; *blob)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>resize_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a>(bool prefetch)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html#a1dba251022584d60d12092481d162d04">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">singa::ParserLayer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>sigma_</b> (defined in <a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1MnistImageLayer.html">singa::MnistImageLayer</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#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[52/57] incubator-singa git commit: update index page and readme; test preview on github

Posted by wa...@apache.org.
update index page and readme; test preview on github


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/d007dc67
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/d007dc67
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/d007dc67

Branch: refs/heads/gh-pages
Commit: d007dc67bdca6331d6f5defabc6faaef4f32dd84
Parents: 666a841
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 20:17:20 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 20:17:20 2015 +0800

----------------------------------------------------------------------
 README.md                             | 42 ++++--------------------------
 _config.yml                           |  2 +-
 _includes/themes/twitter/default.html | 13 ++++-----
 _posts/docs/2015-01-10-quick-start.md |  6 ++---
 index.md                              | 10 ++++++-
 5 files changed, 25 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/d007dc67/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 6a90c81..30b6805 100644
--- a/README.md
+++ b/README.md
@@ -1,40 +1,8 @@
-# Jekyll-Bootstrap
-
-The quickest way to start and publish your Jekyll powered blog. 100% compatible with GitHub pages
-
-## Usage
-
-For all usage and documentation please see: <http://jekyllbootstrap.com>
-
-## Version
-
-0.3.0 - stable and versioned using [semantic versioning](http://semver.org/).
-
-**NOTE:** 0.3.0 introduces a new theme which is not backwards compatible in the sense it won't _look_ like the old version.
-However, the actual API has not changed at all.
-You might want to run 0.3.0 in a branch to make sure you are ok with the theme design changes.
-
-## Contributing
-
-
-To contribute to the framework please make sure to checkout your branch based on `jb-development`!!
-This is very important as it allows me to accept your pull request without having to publish a public version release.
-
-Small, atomic Features, bugs, etc.
-Use the `jb-development` branch but note it will likely change fast as pull requests are accepted.
-Please rebase as often as possible when working.
-Work on small, atomic features/bugs to avoid upstream commits affecting/breaking your development work.
-
-For Big Features or major API extensions/edits:
-This is the one case where I'll accept pull-requests based off the master branch.
-This allows you to work in isolation but it means I'll have to manually merge your work into the next public release.
-Translation : it might take a bit longer so please be patient! (but sincerely thank you).
-
-**Jekyll-Bootstrap Documentation Website.**
-
-The documentation website at <http://jekyllbootstrap.com> is maintained at https://github.com/plusjade/jekyllbootstrap.com
+## Edit and Preview the Website
 
+    jekyll serve --config _config.yml,_config-prod.yml
 
 ## License
-
-[MIT](http://opensource.org/licenses/MIT)
+* We used Jekyll-Boostrap [MIT](http://opensource.org/licenses/MIT) to generate this website.
+* The source code except that from Jekyll-Boostrap is release under
+[Apache License 2](http://www.apache.org/licenses/LICENSE-2.0.html).

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/d007dc67/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index 32634db..c6fbf12 100644
--- a/_config.yml
+++ b/_config.yml
@@ -54,7 +54,7 @@ JB :
   #   - When setting BASE_PATH it must be a valid url.
   #     This means always setting the protocol (http|https) or prefixing with "/"
   #
-  BASE_PATH :  "/singa" #http://www.comp.nus.edu.sg/~wangwei
+  BASE_PATH :  "/incubator-singa" #http://www.comp.nus.edu.sg/~wangwei
 
   # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
   # ex: [BASE_PATH]/assets/themes/[THEME-NAME]

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/d007dc67/_includes/themes/twitter/default.html
----------------------------------------------------------------------
diff --git a/_includes/themes/twitter/default.html b/_includes/themes/twitter/default.html
index 6074ac0..8dc80bf 100644
--- a/_includes/themes/twitter/default.html
+++ b/_includes/themes/twitter/default.html
@@ -79,12 +79,6 @@
   </head>
 
   <body>
-  <a href="https://github.com/apache/incubator-singa"><img style="position: absolute; top: 0;
-    left: 0; border: 0;"
-    src="https://camo.githubusercontent.com/8b6b8ccc6da3aa5722903da7b58eb5ab1081adee/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6f72616e67655f6666373630302e706e67"
-    alt="Fork me on GitHub"
-    data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_orange_ff7600.png"></a>
-
   <div id="topanchor"></div>
     <div class="navbar">
       <div class="navbar-inner">
@@ -98,6 +92,13 @@
         </div>
       </div>
     </div>
+  <a href="https://github.com/apache/incubator-singa" style="float: left"><img style="position: relative; top: 40px;
+    left: 0; border: 0;"
+    src="https://camo.githubusercontent.com/8b6b8ccc6da3aa5722903da7b58eb5ab1081adee/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6f72616e67655f6666373630302e706e67"
+    alt="Fork me on GitHub"
+    data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_orange_ff7600.png"></a>
+
+
     <div class="container-narrow">
       <div class="content">
         {{ content }}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/d007dc67/_posts/docs/2015-01-10-quick-start.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-01-10-quick-start.md b/_posts/docs/2015-01-10-quick-start.md
index bf953ba..6862419 100644
--- a/_posts/docs/2015-01-10-quick-start.md
+++ b/_posts/docs/2015-01-10-quick-start.md
@@ -50,10 +50,10 @@ Download the dataset and create the data shards for training and testing.
 
     cd examples/cifar10/
     make download
-    make shard
+    make create
 
 A training dataset and a test dataset are created under *train-shard* and
-*test-shard* folder respectively. A mena.shard file is also generated, which
+*test-shard* folder respectively. A image_mean.bin file is also generated, which
 contains the feature mean of all images.
 <!--After creating the data shards, you  to update the paths in the
 model configuration file (*model.conf*) for the
@@ -87,7 +87,7 @@ Start the training by running:
 
     #goto top level folder
     cd ..
-    ./build/singa -model=examples/cifar10/model.conf -cluster=examples/cifar10/cluster.conf
+    ./singa -model=examples/cifar10/model.conf -cluster=examples/cifar10/cluster.conf
 
 #### Training with data Partitioning
 

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/d007dc67/index.md
----------------------------------------------------------------------
diff --git a/index.md b/index.md
index c72732a..ad914b7 100644
--- a/index.md
+++ b/index.md
@@ -10,8 +10,16 @@ Please follow the [quick start]({{ BASE_PATH }}{% post_url /docs/2015-01-10-quic
 guide to download, install and run SINGA.
 
 ### Documentation
+* Documentations are listed [here]({{ BASE_PATH }}/docs.html).
 * Code API can be found [here]({{ BASE_PATH }}/api/index.html).
-* Documentations are listed [here]({{ BASE_PATH }}/docs.html)
+
+### Contribute
+
+* Please subscribe to our development mailing list dev@singa.incubator.apache.org.
+* If you find any issues using SIGNA, please report it to the
+[Issue Tracker](https://issues.apache.org/jira/browse/singa).
+
+More details on contributing to SINGA is describe [here]({{ BASE_PATH }}/community.html).
 
 ### License
 SINGA is released under [Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).


[08/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html
new file mode 100644
index 0000000..1f824b2
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 6 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">Get< 6 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 6 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a28034152d066c8644fa55e9fc0e3a12d"><td class="memTemplParams" colspan="2"><a class="anchor" id="a28034152d066c8644fa55e9fc0e3a12d"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a28034152d066c8644fa55e9fc0e3a12d"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(6, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:a28034152d066c8644fa55e9fc0e3a12d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e396b998757e0ab9b75db0c68a7c360"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6e396b998757e0ab9b75db0c68a7c360"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a6e396b998757e0ab9b75db0c68a7c360"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(6, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:a6e396b998757e0ab9b75db0c68a7c360"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4-members.html
new file mode 100644
index 0000000..8fd92de
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">Get< 7 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 7 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">std::tr1::gtest_internal::Get&lt; 7 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(7, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">std::tr1::gtest_internal::Get&lt; 7 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">std::tr1::gtest_internal::Get&lt; 7 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(7, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">std::tr1::gtest_internal::Get&lt; 7 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">std::tr1::gtest_internal::Get&lt; 7 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html
new file mode 100644
index 0000000..096e37c
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 7 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">Get< 7 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 7 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ae1245f00b2ad610a130681b5bc81051c"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae1245f00b2ad610a130681b5bc81051c"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:ae1245f00b2ad610a130681b5bc81051c"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(7, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:ae1245f00b2ad610a130681b5bc81051c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb7bd56e0697304325cd157d11df4a7b"><td class="memTemplParams" colspan="2"><a class="anchor" id="afb7bd56e0697304325cd157d11df4a7b"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:afb7bd56e0697304325cd157d11df4a7b"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(7, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:afb7bd56e0697304325cd157d11df4a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4-members.html
new file mode 100644
index 0000000..3c105f4
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">Get< 8 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 8 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">std::tr1::gtest_internal::Get&lt; 8 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(8, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">std::tr1::gtest_internal::Get&lt; 8 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">std::tr1::gtest_internal::Get&lt; 8 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(8, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">std::tr1::gtest_internal::Get&lt; 8 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">std::tr1::gtest_internal::Get&lt; 8 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html
new file mode 100644
index 0000000..7b2ea88
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 8 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">Get< 8 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 8 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:adf667300b7efed278f4ee3bf4d2edb85"><td class="memTemplParams" colspan="2"><a class="anchor" id="adf667300b7efed278f4ee3bf4d2edb85"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:adf667300b7efed278f4ee3bf4d2edb85"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(8, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:adf667300b7efed278f4ee3bf4d2edb85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9645513ad2f983157f4062c89e910e7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab9645513ad2f983157f4062c89e910e7"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:ab9645513ad2f983157f4062c89e910e7"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(8, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:ab9645513ad2f983157f4062c89e910e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4-members.html
new file mode 100644
index 0000000..9c285e5
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">Get< 9 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 9 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">std::tr1::gtest_internal::Get&lt; 9 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(9, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">std::tr1::gtest_internal::Get&lt; 9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">std::tr1::gtest_internal::Get&lt; 9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(9, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">std::tr1::gtest_internal::Get&lt; 9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">std::tr1::gtest_internal::Get&lt; 9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html
new file mode 100644
index 0000000..93a8a6e
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 9 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">Get< 9 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 9 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:add31197dfdb381d265e221ed62129f45"><td class="memTemplParams" colspan="2"><a class="anchor" id="add31197dfdb381d265e221ed62129f45"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:add31197dfdb381d265e221ed62129f45"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(9, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:add31197dfdb381d265e221ed62129f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5205e8da729e2bee446f5be0c65390af"><td class="memTemplParams" colspan="2"><a class="anchor" id="a5205e8da729e2bee446f5be0c65390af"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a5205e8da729e2bee446f5be0c65390af"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(9, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:a5205e8da729e2bee446f5be0c65390af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1tuple-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1tuple-members.html b/api/classstd_1_1tr1_1_1tuple-members.html
new file mode 100644
index 0000000..8a9f959
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1tuple-members.html
@@ -0,0 +1,124 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CopyFrom</b>(const GTEST_10_TUPLE_(U)&amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>f0_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>f1_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>f2_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>f3_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>f4_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>f5_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>f6_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>f7_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>f8_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>f9_</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>gtest_internal::Get</b> (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const GTEST_10_TUPLE_(U)&amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tuple</b>() (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tuple</b>(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5, GTEST_BY_REF_(T6) f6, GTEST_BY_REF_(T7) f7, GTEST_BY_REF_(T8) f8, GTEST_BY_REF_(T9) f9) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</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>tuple</b>(const tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tuple</b>(const GTEST_10_TUPLE_(U)&amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1tuple.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1tuple.html b/api/classstd_1_1tr1_1_1tuple.html
new file mode 100644
index 0000000..b9fd409
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1tuple.html
@@ -0,0 +1,177 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classstd_1_1tr1_1_1tuple-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::tuple&lt; T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a5c31ee8e6f548fc37ef814d3db7d273f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c31ee8e6f548fc37ef814d3db7d273f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>tuple</b> (GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5, GTEST_BY_REF_(T6) f6, GTEST_BY_REF_(T7) f7, GTEST_BY_REF_(T8) f8, GTEST_BY_REF_(T9) f9)</td></tr>
+<tr class="separator:a5c31ee8e6f548fc37ef814d3db7d273f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70a4e487f56c2f544a40ca81e1b69303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70a4e487f56c2f544a40ca81e1b69303"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>tuple</b> (const <a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;t)</td></tr>
+<tr class="separator:a70a4e487f56c2f544a40ca81e1b69303"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ecd978bce485352717c801af8a6e113"><td class="memTemplParams" colspan="2"><a class="anchor" id="a3ecd978bce485352717c801af8a6e113"></a>
+template&lt;GTEST_10_TYPENAMES_(U) &gt; </td></tr>
+<tr class="memitem:a3ecd978bce485352717c801af8a6e113"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tuple</b> (const GTEST_10_TUPLE_(U)&amp;t)</td></tr>
+<tr class="separator:a3ecd978bce485352717c801af8a6e113"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2544141b07a65060937e594228ee815a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2544141b07a65060937e594228ee815a"></a>
+<a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;t)</td></tr>
+<tr class="separator:a2544141b07a65060937e594228ee815a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0df06ea0529f3caa6cbbf9daaa4d341"><td class="memTemplParams" colspan="2"><a class="anchor" id="af0df06ea0529f3caa6cbbf9daaa4d341"></a>
+template&lt;GTEST_10_TYPENAMES_(U) &gt; </td></tr>
+<tr class="memitem:af0df06ea0529f3caa6cbbf9daaa4d341"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const GTEST_10_TUPLE_(U)&amp;t)</td></tr>
+<tr class="separator:af0df06ea0529f3caa6cbbf9daaa4d341"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa76d0c02e6f4c6c99f32f9738623f23c"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa76d0c02e6f4c6c99f32f9738623f23c"></a>
+template&lt;GTEST_10_TYPENAMES_(U) &gt; </td></tr>
+<tr class="memitem:aa76d0c02e6f4c6c99f32f9738623f23c"><td class="memTemplItemLeft" align="right" valign="top">GTEST_DECLARE_TUPLE_AS_FRIEND_ <br class="typebreak"/>
+<a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>CopyFrom</b> (const GTEST_10_TUPLE_(U)&amp;t)</td></tr>
+<tr class="separator:aa76d0c02e6f4c6c99f32f9738623f23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a133b02f631ce9c46c8368756d5ce7d68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a133b02f631ce9c46c8368756d5ce7d68"></a>
+T0&#160;</td><td class="memItemRight" valign="bottom"><b>f0_</b></td></tr>
+<tr class="separator:a133b02f631ce9c46c8368756d5ce7d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a809d974a332969e624830b02d9361107"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a809d974a332969e624830b02d9361107"></a>
+T1&#160;</td><td class="memItemRight" valign="bottom"><b>f1_</b></td></tr>
+<tr class="separator:a809d974a332969e624830b02d9361107"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a3d444570fccf3810322a5cea025993"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a3d444570fccf3810322a5cea025993"></a>
+T2&#160;</td><td class="memItemRight" valign="bottom"><b>f2_</b></td></tr>
+<tr class="separator:a1a3d444570fccf3810322a5cea025993"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d1ea537cc17e4c1aa1e4a7b39822c93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d1ea537cc17e4c1aa1e4a7b39822c93"></a>
+T3&#160;</td><td class="memItemRight" valign="bottom"><b>f3_</b></td></tr>
+<tr class="separator:a7d1ea537cc17e4c1aa1e4a7b39822c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a893ccbbb34a262058b4cfa5020bbf84e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a893ccbbb34a262058b4cfa5020bbf84e"></a>
+T4&#160;</td><td class="memItemRight" valign="bottom"><b>f4_</b></td></tr>
+<tr class="separator:a893ccbbb34a262058b4cfa5020bbf84e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fbe806ede11f6e48aff17ce5c7b96a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fbe806ede11f6e48aff17ce5c7b96a8"></a>
+T5&#160;</td><td class="memItemRight" valign="bottom"><b>f5_</b></td></tr>
+<tr class="separator:a1fbe806ede11f6e48aff17ce5c7b96a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b7ddbc9893546b3028ee8f4543534cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b7ddbc9893546b3028ee8f4543534cc"></a>
+T6&#160;</td><td class="memItemRight" valign="bottom"><b>f6_</b></td></tr>
+<tr class="separator:a1b7ddbc9893546b3028ee8f4543534cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a254d543fc3669d5cbd41d5da833b9492"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a254d543fc3669d5cbd41d5da833b9492"></a>
+T7&#160;</td><td class="memItemRight" valign="bottom"><b>f7_</b></td></tr>
+<tr class="separator:a254d543fc3669d5cbd41d5da833b9492"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a335bd9d920b8aff1e2a47980bbf274db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a335bd9d920b8aff1e2a47980bbf274db"></a>
+T8&#160;</td><td class="memItemRight" valign="bottom"><b>f8_</b></td></tr>
+<tr class="separator:a335bd9d920b8aff1e2a47980bbf274db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b8a389f9e3974be4130f6ba2fbe5234"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b8a389f9e3974be4130f6ba2fbe5234"></a>
+T9&#160;</td><td class="memItemRight" valign="bottom"><b>f9_</b></td></tr>
+<tr class="separator:a1b8a389f9e3974be4130f6ba2fbe5234"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:aeeed38755abdaa78587dd1eac9ccc950"><td class="memTemplParams" colspan="2"><a class="anchor" id="aeeed38755abdaa78587dd1eac9ccc950"></a>
+template&lt;int k&gt; </td></tr>
+<tr class="memitem:aeeed38755abdaa78587dd1eac9ccc950"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>gtest_internal::Get</b></td></tr>
+<tr class="separator:aeeed38755abdaa78587dd1eac9ccc950"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1tuple_3_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1tuple_3_4-members.html b/api/classstd_1_1tr1_1_1tuple_3_4-members.html
new file mode 100644
index 0000000..c45d1a7
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1tuple_3_4-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">tuple<></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::tuple&lt;&gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const tuple &amp;) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tuple</b>() (defined in <a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tuple</b>(const tuple &amp;) (defined in <a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">std::tr1::tuple&lt;&gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>



[35/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Cluster.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Cluster.html b/api/classsinga_1_1Cluster.html
new file mode 100644
index 0000000..2030f32
--- /dev/null
+++ b/api/classsinga_1_1Cluster.html
@@ -0,0 +1,291 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Cluster 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Cluster.html">Cluster</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classsinga_1_1Cluster-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Cluster Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="classsinga_1_1Cluster.html" title="Cluster is a singleton object, which provides cluster configuations, e.g., the topology of the cluste...">Cluster</a> is a singleton object, which provides cluster configuations, e.g., the topology of the cluster.  
+ <a href="classsinga_1_1Cluster.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="cluster_8h_source.html">cluster.h</a>&gt;</code></p>
+<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:a83263ace13053fc51eb42b7717c568c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83263ace13053fc51eb42b7717c568c9"></a>
+const int&#160;</td><td class="memItemRight" valign="bottom"><b>nserver_groups</b> () const </td></tr>
+<tr class="separator:a83263ace13053fc51eb42b7717c568c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa06ff73bd25cb17b5ddf6c1aeab1ee30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa06ff73bd25cb17b5ddf6c1aeab1ee30"></a>
+const int&#160;</td><td class="memItemRight" valign="bottom"><b>nworker_groups</b> () const </td></tr>
+<tr class="separator:aa06ff73bd25cb17b5ddf6c1aeab1ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa6b459a3922b4dec8f0ae46d41ccf1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa6b459a3922b4dec8f0ae46d41ccf1f"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nworkers_per_group</b> () const </td></tr>
+<tr class="separator:afa6b459a3922b4dec8f0ae46d41ccf1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab32d6b3fbf5cf83960c5185719d6498a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab32d6b3fbf5cf83960c5185719d6498a"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nservers_per_group</b> () const </td></tr>
+<tr class="separator:ab32d6b3fbf5cf83960c5185719d6498a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10610c98b0cb5619a43a7f2b9d27046"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa10610c98b0cb5619a43a7f2b9d27046"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nworkers_per_procs</b> () const </td></tr>
+<tr class="separator:aa10610c98b0cb5619a43a7f2b9d27046"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d27d46fff950d697f04d82edc3b5d06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d27d46fff950d697f04d82edc3b5d06"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nservers_per_procs</b> () const </td></tr>
+<tr class="separator:a0d27d46fff950d697f04d82edc3b5d06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05022e13b3021763978ef19ca8ca9511"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05022e13b3021763978ef19ca8ca9511"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nworker_groups_per_server_group</b> () const </td></tr>
+<tr class="separator:a05022e13b3021763978ef19ca8ca9511"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f0ec830d71ebef2ba06a8d02cf4382c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Cluster.html#a4f0ec830d71ebef2ba06a8d02cf4382c">has_server</a> () const </td></tr>
+<tr class="separator:a4f0ec830d71ebef2ba06a8d02cf4382c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9400db12ac058c032e823ed78c7e304b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Cluster.html#a9400db12ac058c032e823ed78c7e304b">has_worker</a> () const </td></tr>
+<tr class="separator:a9400db12ac058c032e823ed78c7e304b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8e5354997207658d332e741f9c2a02e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Cluster.html#ae8e5354997207658d332e741f9c2a02e">procs_id</a> () const </td></tr>
+<tr class="separator:ae8e5354997207658d332e741f9c2a02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7608848651bccb7e66fdcfe280f7fd70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7608848651bccb7e66fdcfe280f7fd70"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>server_worker_separate</b> () const </td></tr>
+<tr class="separator:a7608848651bccb7e66fdcfe280f7fd70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a5b6e4399f2a1f626e8550f86323263"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a5b6e4399f2a1f626e8550f86323263"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nworker_procs</b> () const </td></tr>
+<tr class="separator:a4a5b6e4399f2a1f626e8550f86323263"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14bb411e2d59f50ff742fd837ec490cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14bb411e2d59f50ff742fd837ec490cb"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nserver_procs</b> () const </td></tr>
+<tr class="separator:a14bb411e2d59f50ff742fd837ec490cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11b237dd9f8594bd815abfb9a943514c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11b237dd9f8594bd815abfb9a943514c"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nprocs</b> () const </td></tr>
+<tr class="separator:a11b237dd9f8594bd815abfb9a943514c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e4d2599f9e78386c70603cd49e57fb4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e4d2599f9e78386c70603cd49e57fb4"></a>
+const string&#160;</td><td class="memItemRight" valign="bottom"><b>endpoint</b> () const </td></tr>
+<tr class="separator:a9e4d2599f9e78386c70603cd49e57fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4edbbb84564bfc743c37c2ab8f6f826"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Cluster.html#ac4edbbb84564bfc743c37c2ab8f6f826">endpoint</a> (int <a class="el" href="classsinga_1_1Cluster.html#ae8e5354997207658d332e741f9c2a02e">procs_id</a>) const </td></tr>
+<tr class="separator:ac4edbbb84564bfc743c37c2ab8f6f826"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a7f685663814c5e9bdbb248ed570fc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a7f685663814c5e9bdbb248ed570fc0"></a>
+const string&#160;</td><td class="memItemRight" valign="bottom"><b>workspace</b> ()</td></tr>
+<tr class="separator:a8a7f685663814c5e9bdbb248ed570fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44aeb7bf9cb0a1b1476fc7e7d50782e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44aeb7bf9cb0a1b1476fc7e7d50782e6"></a>
+const string&#160;</td><td class="memItemRight" valign="bottom"><b>vis_folder</b> ()</td></tr>
+<tr class="separator:a44aeb7bf9cb0a1b1476fc7e7d50782e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ef058778b466954f692396441c619ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ef058778b466954f692396441c619ef"></a>
+const string&#160;</td><td class="memItemRight" valign="bottom"><b>log_folder</b> ()</td></tr>
+<tr class="separator:a8ef058778b466954f692396441c619ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09c24a1c851ffa15f930592b64e42fb0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09c24a1c851ffa15f930592b64e42fb0"></a>
+const int&#160;</td><td class="memItemRight" valign="bottom"><b>stub_timeout</b> () const </td></tr>
+<tr class="separator:a09c24a1c851ffa15f930592b64e42fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6a2653d5e53fde01938a6e52cbbb1f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6a2653d5e53fde01938a6e52cbbb1f3"></a>
+const int&#160;</td><td class="memItemRight" valign="bottom"><b>worker_timeout</b> () const </td></tr>
+<tr class="separator:ae6a2653d5e53fde01938a6e52cbbb1f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8b956787fc415b9e93b4f3344ff68fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8b956787fc415b9e93b4f3344ff68fa"></a>
+const int&#160;</td><td class="memItemRight" valign="bottom"><b>server_timeout</b> () const </td></tr>
+<tr class="separator:ab8b956787fc415b9e93b4f3344ff68fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a867471f3b78861151d3cb95f748e7cff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a867471f3b78861151d3cb95f748e7cff"></a>
+static shared_ptr&lt; <a class="el" href="classsinga_1_1Cluster.html">Cluster</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> ()</td></tr>
+<tr class="separator:a867471f3b78861151d3cb95f748e7cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af20b7783ee04fe62c071520fcae6f212"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af20b7783ee04fe62c071520fcae6f212"></a>
+static shared_ptr&lt; <a class="el" href="classsinga_1_1Cluster.html">Cluster</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> (const ClusterProto &amp;cluster, int <a class="el" href="classsinga_1_1Cluster.html#ae8e5354997207658d332e741f9c2a02e">procs_id</a>)</td></tr>
+<tr class="separator:af20b7783ee04fe62c071520fcae6f212"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classsinga_1_1Cluster.html" title="Cluster is a singleton object, which provides cluster configuations, e.g., the topology of the cluste...">Cluster</a> is a singleton object, which provides cluster configuations, e.g., the topology of the cluster. </p>
+<p>All IDs start from 0. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac4edbbb84564bfc743c37c2ab8f6f826"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const string singa::Cluster::endpoint </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>procs_id</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>endpoint of the router of a procs with the specified id </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4f0ec830d71ebef2ba06a8d02cf4382c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::Cluster::has_server </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>true if the calling procs has server threads, otherwise false </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9400db12ac058c032e823ed78c7e304b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::Cluster::has_worker </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>true if the calling procs has worker threads. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae8e5354997207658d332e741f9c2a02e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int singa::Cluster::procs_id </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>global procs id, which starts from 0. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="cluster_8h_source.html">cluster.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ConcateLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ConcateLayer-members.html b/api/classsinga_1_1ConcateLayer-members.html
new file mode 100644
index 0000000..f6dd5da
--- /dev/null
+++ b/api/classsinga_1_1ConcateLayer-members.html
@@ -0,0 +1,156 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ConcateLayer.html">ConcateLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ConcateLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ConcateLayer.html#a160ffe17e1138034c7d9b8d61065412b">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html#a987c60e6c2f00e76617b64ac769f3887">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html#a3781c4852c40650f6e20858929f60ffa">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ConcateLayer.html">singa::ConcateLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ConcateLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ConcateLayer.html b/api/classsinga_1_1ConcateLayer.html
new file mode 100644
index 0000000..2545c0a
--- /dev/null
+++ b/api/classsinga_1_1ConcateLayer.html
@@ -0,0 +1,376 @@
+<!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.6"/>
+<title>Apache SINGA: singa::ConcateLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ConcateLayer.html">ConcateLayer</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_1ConcateLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ConcateLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Concate src layers on one dimension.  
+ <a href="classsinga_1_1ConcateLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::ConcateLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1ConcateLayer.png" usemap="#singa::ConcateLayer_map" alt=""/>
+  <map id="singa::ConcateLayer_map" name="singa::ConcateLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,128,24"/>
+</map>
+ </div></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:a160ffe17e1138034c7d9b8d61065412b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConcateLayer.html#a160ffe17e1138034c7d9b8d61065412b">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a160ffe17e1138034c7d9b8d61065412b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a160ffe17e1138034c7d9b8d61065412b">More...</a><br/></td></tr>
+<tr class="separator:a160ffe17e1138034c7d9b8d61065412b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a987c60e6c2f00e76617b64ac769f3887"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a987c60e6c2f00e76617b64ac769f3887"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConcateLayer.html#a987c60e6c2f00e76617b64ac769f3887">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a987c60e6c2f00e76617b64ac769f3887"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a987c60e6c2f00e76617b64ac769f3887"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3781c4852c40650f6e20858929f60ffa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConcateLayer.html#a3781c4852c40650f6e20858929f60ffa">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a3781c4852c40650f6e20858929f60ffa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a3781c4852c40650f6e20858929f60ffa">More...</a><br/></td></tr>
+<tr class="separator:a3781c4852c40650f6e20858929f60ffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27958d384bb22ca7b14f1a64b5b0bbf0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27958d384bb22ca7b14f1a64b5b0bbf0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a27958d384bb22ca7b14f1a64b5b0bbf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab817ad4f87b0340da74efa034aded381"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab817ad4f87b0340da74efa034aded381"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:ab817ad4f87b0340da74efa034aded381"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>Concate src layers on one dimension. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a160ffe17e1138034c7d9b8d61065412b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ConcateLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3781c4852c40650f6e20858929f60ffa"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ConcateLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ConcateLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ConcateLayer.png b/api/classsinga_1_1ConcateLayer.png
new file mode 100644
index 0000000..93a678d
Binary files /dev/null and b/api/classsinga_1_1ConcateLayer.png differ


[21/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Param-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Param-members.html b/api/classsinga_1_1Param-members.html
new file mode 100644
index 0000000..6ea2b17
--- /dev/null
+++ b/api/classsinga_1_1Param-members.html
@@ -0,0 +1,149 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Param.html">Param</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Param Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Param.html">singa::Param</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Param.html#af7f5be140141a7ff4b37a48a4d20126e">data</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#acaba6e96c8afd3ff3f42eff99c8e2aaa">data_</a></td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fan_in_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GenGetMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GenPutMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GenSyncMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GenUpdateMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GenUpdateResponseMsg</b>(void *arg=nullptr) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Param.html#a2d81273a74b1dc2c599989fe0c96135f">grad</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HandleGetMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HandlePutMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HandleSyncMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>history</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>history_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>id</b>() const  (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Init</b>(int v=0) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>learning_rate_multiplier</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_cpu_data</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_cpu_grad</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_cpu_history</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_grad</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_history</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</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_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#a8d2fc34b825f6013b996f857422b684f">name_</a></td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Param.html#ac4176dbd3e73aa42dc5da79456a8dfc4">owner</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>owner_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Param</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParseGetResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParsePutResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParseSyncResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParseUpdateMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParseUpdateResponseMsg</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</b> (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_id</b>(int id) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_version</b>(int v) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#a84d7514cc5849f26018bfceef9a12364">Setup</a>(const ParamProto &amp;proto, const std::vector&lt; int &gt; &amp;shape, int fan_in)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ShareData</b>(shared_ptr&lt; Param &gt; other) (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Param.html#a34f6d78c5fe6450f09c32620d923151e">size</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b>() const  (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>weight_decay_multiplier</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Param</b>() (defined in <a class="el" href="classsinga_1_1Param.html">singa::Param</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Param.html">singa::Param</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Param.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Param.html b/api/classsinga_1_1Param.html
new file mode 100644
index 0000000..d96f2b0
--- /dev/null
+++ b/api/classsinga_1_1Param.html
@@ -0,0 +1,295 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Param 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Param.html">Param</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_1Param-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Param Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a34727f895aab227d37247522448919a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34727f895aab227d37247522448919a4"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenGetMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a34727f895aab227d37247522448919a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96f09f790d187bb6dcc55c2ef9706495"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96f09f790d187bb6dcc55c2ef9706495"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenPutMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a96f09f790d187bb6dcc55c2ef9706495"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62278fa4361f37ace1c0d62b91b894d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62278fa4361f37ace1c0d62b91b894d1"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenUpdateMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a62278fa4361f37ace1c0d62b91b894d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92b795680859f651b15822e5f276409f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92b795680859f651b15822e5f276409f"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenSyncMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:a92b795680859f651b15822e5f276409f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cca1371b0f348d57a70aa07433a86b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cca1371b0f348d57a70aa07433a86b0"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HandleGetMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a9cca1371b0f348d57a70aa07433a86b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a752a55ec943d502255e63bfdc3e0be81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a752a55ec943d502255e63bfdc3e0be81"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HandlePutMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a752a55ec943d502255e63bfdc3e0be81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af90ef28a75787dbbaf7ec54380e078a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af90ef28a75787dbbaf7ec54380e078a8"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseUpdateMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:af90ef28a75787dbbaf7ec54380e078a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa842c4019f3f8b75cbb0ccf681eda9d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa842c4019f3f8b75cbb0ccf681eda9d8"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GenUpdateResponseMsg</b> (void *arg=nullptr)</td></tr>
+<tr class="separator:aa842c4019f3f8b75cbb0ccf681eda9d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703a285133dfa74b36747c91fb60dd54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a703a285133dfa74b36747c91fb60dd54"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HandleSyncMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a703a285133dfa74b36747c91fb60dd54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2e90726852c16618938c7b206091a1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2e90726852c16618938c7b206091a1a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseGetResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ad2e90726852c16618938c7b206091a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6b7446b5ba2d9dc6c40e4bb7a6f05c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6b7446b5ba2d9dc6c40e4bb7a6f05c0"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParsePutResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ac6b7446b5ba2d9dc6c40e4bb7a6f05c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae62f36d76f4315889f4bf3b6bb8f392d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62f36d76f4315889f4bf3b6bb8f392d"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseUpdateResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ae62f36d76f4315889f4bf3b6bb8f392d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74430d08d52f496d97a5c0a9805a4c9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74430d08d52f496d97a5c0a9805a4c9e"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>ParseSyncResponseMsg</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a74430d08d52f496d97a5c0a9805a4c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84d7514cc5849f26018bfceef9a12364"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84d7514cc5849f26018bfceef9a12364"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a84d7514cc5849f26018bfceef9a12364">Setup</a> (const ParamProto &amp;proto, const std::vector&lt; int &gt; &amp;shape, int fan_in)</td></tr>
+<tr class="memdesc:a84d7514cc5849f26018bfceef9a12364"><td class="mdescLeft">&#160;</td><td class="mdescRight">setup param shape <br/></td></tr>
+<tr class="separator:a84d7514cc5849f26018bfceef9a12364"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf9cdcc5c85dc140c3330d2cf72e9e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addf9cdcc5c85dc140c3330d2cf72e9e0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (int v=0)</td></tr>
+<tr class="separator:addf9cdcc5c85dc140c3330d2cf72e9e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ae2ca18c6d78f38bd0af86962049b2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae2ca18c6d78f38bd0af86962049b2d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ShareData</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; other)</td></tr>
+<tr class="separator:a3ae2ca18c6d78f38bd0af86962049b2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4575ed15673e26838b1e017f13364b27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4575ed15673e26838b1e017f13364b27"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>learning_rate_multiplier</b> ()</td></tr>
+<tr class="separator:a4575ed15673e26838b1e017f13364b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c6d9ce02b7292d9176106dd1b59afa9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c6d9ce02b7292d9176106dd1b59afa9"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>weight_decay_multiplier</b> ()</td></tr>
+<tr class="separator:a2c6d9ce02b7292d9176106dd1b59afa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4176dbd3e73aa42dc5da79456a8dfc4"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#ac4176dbd3e73aa42dc5da79456a8dfc4">owner</a> () const </td></tr>
+<tr class="memdesc:ac4176dbd3e73aa42dc5da79456a8dfc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">if the <a class="el" href="classsinga_1_1Param.html">Param</a> shares data with others, then point to the owner.  <a href="#ac4176dbd3e73aa42dc5da79456a8dfc4">More...</a><br/></td></tr>
+<tr class="separator:ac4176dbd3e73aa42dc5da79456a8dfc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb1c45b881b79cfde6df621bc1b515b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb1c45b881b79cfde6df621bc1b515b0"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> ()</td></tr>
+<tr class="separator:acb1c45b881b79cfde6df621bc1b515b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac10e8a07a045febace28d719c8ec3aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac10e8a07a045febace28d719c8ec3aaa"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>id</b> () const </td></tr>
+<tr class="separator:ac10e8a07a045febace28d719c8ec3aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd595fd314432b276f3ed6db4239bb4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd595fd314432b276f3ed6db4239bb4b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_id</b> (int id)</td></tr>
+<tr class="separator:abd595fd314432b276f3ed6db4239bb4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7dfe672a20b10e544007ed2a5502822"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7dfe672a20b10e544007ed2a5502822"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>version</b> () const </td></tr>
+<tr class="separator:ac7dfe672a20b10e544007ed2a5502822"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ed3aec7414d40a9bb6aa97a8a025871"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ed3aec7414d40a9bb6aa97a8a025871"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_version</b> (int v)</td></tr>
+<tr class="separator:a5ed3aec7414d40a9bb6aa97a8a025871"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34f6d78c5fe6450f09c32620d923151e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a34f6d78c5fe6450f09c32620d923151e">size</a> () const </td></tr>
+<tr class="separator:a34f6d78c5fe6450f09c32620d923151e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7f5be140141a7ff4b37a48a4d20126e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7f5be140141a7ff4b37a48a4d20126e"></a>
+const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#af7f5be140141a7ff4b37a48a4d20126e">data</a> ()</td></tr>
+<tr class="memdesc:af7f5be140141a7ff4b37a48a4d20126e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return const mem address for the content of this parameter. <br/></td></tr>
+<tr class="separator:af7f5be140141a7ff4b37a48a4d20126e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9117daf63219b0321e90f0f9fe3824eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9117daf63219b0321e90f0f9fe3824eb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> ()</td></tr>
+<tr class="separator:a9117daf63219b0321e90f0f9fe3824eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d81273a74b1dc2c599989fe0c96135f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d81273a74b1dc2c599989fe0c96135f"></a>
+const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a2d81273a74b1dc2c599989fe0c96135f">grad</a> ()</td></tr>
+<tr class="memdesc:a2d81273a74b1dc2c599989fe0c96135f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return gradient of this parameter. <br/></td></tr>
+<tr class="separator:a2d81273a74b1dc2c599989fe0c96135f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab41661f645daafd2b56e0dd71702fbf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab41661f645daafd2b56e0dd71702fbf3"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_grad</b> ()</td></tr>
+<tr class="separator:ab41661f645daafd2b56e0dd71702fbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a754a24ff193c82b9c66e53d71e18a03d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a754a24ff193c82b9c66e53d71e18a03d"></a>
+const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>history</b> ()</td></tr>
+<tr class="separator:a754a24ff193c82b9c66e53d71e18a03d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8100fc3a5332c10b595c73e66b9c710c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8100fc3a5332c10b595c73e66b9c710c"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_history</b> ()</td></tr>
+<tr class="separator:a8100fc3a5332c10b595c73e66b9c710c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3db40f69eaf6b09b5e27ac3a4d749f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3db40f69eaf6b09b5e27ac3a4d749f4"></a>
+float *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_data</b> ()</td></tr>
+<tr class="separator:af3db40f69eaf6b09b5e27ac3a4d749f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c46742b872fbb1bc684de67b0a7ae05"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c46742b872fbb1bc684de67b0a7ae05"></a>
+float *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_grad</b> ()</td></tr>
+<tr class="separator:a0c46742b872fbb1bc684de67b0a7ae05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a559d886b053ce4c8237363050f7ed0c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a559d886b053ce4c8237363050f7ed0c5"></a>
+float *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_history</b> ()</td></tr>
+<tr class="separator:a559d886b053ce4c8237363050f7ed0c5"><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:a8d2fc34b825f6013b996f857422b684f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d2fc34b825f6013b996f857422b684f"></a>
+std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#a8d2fc34b825f6013b996f857422b684f">name_</a></td></tr>
+<tr class="memdesc:a8d2fc34b825f6013b996f857422b684f"><td class="mdescLeft">&#160;</td><td class="mdescRight">name of the parameter used to share wights between neuralnets <br/></td></tr>
+<tr class="separator:a8d2fc34b825f6013b996f857422b684f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acaba6e96c8afd3ff3f42eff99c8e2aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaba6e96c8afd3ff3f42eff99c8e2aaa"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Param.html#acaba6e96c8afd3ff3f42eff99c8e2aaa">data_</a></td></tr>
+<tr class="memdesc:acaba6e96c8afd3ff3f42eff99c8e2aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">content, gradient, history gradient of this parameter <br/></td></tr>
+<tr class="separator:acaba6e96c8afd3ff3f42eff99c8e2aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd4ebd32eaf37af837edf09f006920fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd4ebd32eaf37af837edf09f006920fc"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:afd4ebd32eaf37af837edf09f006920fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc6086e4f6a3e193a11615f0fe41a5fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc6086e4f6a3e193a11615f0fe41a5fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>history_</b></td></tr>
+<tr class="separator:abc6086e4f6a3e193a11615f0fe41a5fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f6bf03b73db6eb0a39d178f0c231e45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f6bf03b73db6eb0a39d178f0c231e45"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>owner_</b></td></tr>
+<tr class="separator:a1f6bf03b73db6eb0a39d178f0c231e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d15fa43192ee87768de2e6aa4eb58de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d15fa43192ee87768de2e6aa4eb58de"></a>
+ParamProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:a6d15fa43192ee87768de2e6aa4eb58de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acaaa73f006c1f54e6b49176f4dec0df1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaaa73f006c1f54e6b49176f4dec0df1"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>fan_in_</b></td></tr>
+<tr class="separator:acaaa73f006c1f54e6b49176f4dec0df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac4176dbd3e73aa42dc5da79456a8dfc4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const int singa::Param::owner </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>if the <a class="el" href="classsinga_1_1Param.html">Param</a> shares data with others, then point to the owner. </p>
+<p>otherwise points to itself. </p>
+
+</div>
+</div>
+<a class="anchor" id="a34f6d78c5fe6450f09c32620d923151e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int singa::Param::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>num of floats. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="param_8h_source.html">param.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParamCounter-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParamCounter-members.html b/api/classsinga_1_1ParamCounter-members.html
new file mode 100644
index 0000000..65f5f15
--- /dev/null
+++ b/api/classsinga_1_1ParamCounter-members.html
@@ -0,0 +1,116 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ParamCounter Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#a179acb9ae64adf4794157e92f39bb2b4">AddParam</a>(shared_ptr&lt; Param &gt; p, int local, int owner)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#a807e335c2bdb233c0ac3494927ddfde2">nCollect</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nGet</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#abeed306854558248dc00fad4c574a889">nLocal</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nPut</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#aee6344c8ba38544dabd8407cc6b5fff8">nTotal</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nUpdate</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html#afce7894316b3d2b95b1e5152e93f6e53">owner_procs</a></td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>param</b> (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParamCounter</b>(shared_ptr&lt; Param &gt; p, int local, int owner) (defined in <a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParamCounter.html">singa::ParamCounter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ParamCounter.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ParamCounter.html b/api/classsinga_1_1ParamCounter.html
new file mode 100644
index 0000000..d11e949
--- /dev/null
+++ b/api/classsinga_1_1ParamCounter.html
@@ -0,0 +1,215 @@
+<!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.6"/>
+<title>Apache SINGA: singa::ParamCounter 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="classsinga_1_1ParamCounter-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ParamCounter Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Counters used to construct a parameter shard.  
+ <a href="classsinga_1_1ParamCounter.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pm__worker_8h_source.html">pm_worker.h</a>&gt;</code></p>
+<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:adaa28651f154023decfb8db4f33251b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adaa28651f154023decfb8db4f33251b5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>ParamCounter</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; p, int local, int owner)</td></tr>
+<tr class="separator:adaa28651f154023decfb8db4f33251b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a179acb9ae64adf4794157e92f39bb2b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#a179acb9ae64adf4794157e92f39bb2b4">AddParam</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; p, int local, int owner)</td></tr>
+<tr class="memdesc:a179acb9ae64adf4794157e92f39bb2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Associate the counter to a <a class="el" href="classsinga_1_1Param.html">Param</a> object.  <a href="#a179acb9ae64adf4794157e92f39bb2b4">More...</a><br/></td></tr>
+<tr class="separator:a179acb9ae64adf4794157e92f39bb2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ade7db4a2be7b3cedfe497fae50ecb66c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade7db4a2be7b3cedfe497fae50ecb66c"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>nUpdate</b></td></tr>
+<tr class="separator:ade7db4a2be7b3cedfe497fae50ecb66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e634a10fb29094e2a75565f7cfa2368"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e634a10fb29094e2a75565f7cfa2368"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>nGet</b></td></tr>
+<tr class="separator:a6e634a10fb29094e2a75565f7cfa2368"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4afaaec1ce5cbd861c6b68148942f6cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4afaaec1ce5cbd861c6b68148942f6cf"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>nPut</b></td></tr>
+<tr class="separator:a4afaaec1ce5cbd861c6b68148942f6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a807e335c2bdb233c0ac3494927ddfde2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a807e335c2bdb233c0ac3494927ddfde2"></a>
+std::atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#a807e335c2bdb233c0ac3494927ddfde2">nCollect</a></td></tr>
+<tr class="memdesc:a807e335c2bdb233c0ac3494927ddfde2"><td class="mdescLeft">&#160;</td><td class="mdescRight">all counters are atomic <br/></td></tr>
+<tr class="separator:a807e335c2bdb233c0ac3494927ddfde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abeed306854558248dc00fad4c574a889"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abeed306854558248dc00fad4c574a889"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#abeed306854558248dc00fad4c574a889">nLocal</a></td></tr>
+<tr class="memdesc:abeed306854558248dc00fad4c574a889"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>local workers uses the shared parameter</h1>
+<br/></td></tr>
+<tr class="separator:abeed306854558248dc00fad4c574a889"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee6344c8ba38544dabd8407cc6b5fff8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee6344c8ba38544dabd8407cc6b5fff8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#aee6344c8ba38544dabd8407cc6b5fff8">nTotal</a></td></tr>
+<tr class="memdesc:aee6344c8ba38544dabd8407cc6b5fff8"><td class="mdescLeft">&#160;</td><td class="mdescRight"><h1>total workers uses the shared parameter</h1>
+<br/></td></tr>
+<tr class="separator:aee6344c8ba38544dabd8407cc6b5fff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce7894316b3d2b95b1e5152e93f6e53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afce7894316b3d2b95b1e5152e93f6e53"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParamCounter.html#afce7894316b3d2b95b1e5152e93f6e53">owner_procs</a></td></tr>
+<tr class="memdesc:afce7894316b3d2b95b1e5152e93f6e53"><td class="mdescLeft">&#160;</td><td class="mdescRight">the procs id of the worker that owns the parameter <br/></td></tr>
+<tr class="separator:afce7894316b3d2b95b1e5152e93f6e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d36768f91bb1d78a48e0b549d8fa125"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d36768f91bb1d78a48e0b549d8fa125"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param</b></td></tr>
+<tr class="separator:a7d36768f91bb1d78a48e0b549d8fa125"><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>Counters used to construct a parameter shard. </p>
+<p>For each worker group: Every unique <a class="el" href="classsinga_1_1Param.html">Param</a> object is associated with a <a class="el" href="classsinga_1_1ParamCounter.html" title="Counters used to construct a parameter shard. ">ParamCounter</a> object whose param field points the to <a class="el" href="classsinga_1_1Param.html">Param</a> object itself.</p>
+<p><a class="el" href="classsinga_1_1Param.html">Param</a> objects sharing the same values (due to data parallelism) are associated with the same <a class="el" href="classsinga_1_1ParamCounter.html" title="Counters used to construct a parameter shard. ">ParamCounter</a> whose param field also shares the same values.</p>
+<p>Usage: we need to aggregate gradients from all workers for the shared parameters before sending the update request. The nUpdate counter counts the number.</p>
+<p>TODO test with different physical architectures. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a179acb9ae64adf4794157e92f39bb2b4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::ParamCounter::AddParam </td>
+          <td>(</td>
+          <td class="paramtype">shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>local</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>owner</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>Associate the counter to a <a class="el" href="classsinga_1_1Param.html">Param</a> object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">p</td><td></td></tr>
+    <tr><td class="paramname">local</td><td>1 if this <a class="el" href="classsinga_1_1Param.html">Param</a> object is used by workers in this procs, 0 otherwise </td></tr>
+    <tr><td class="paramname">owner</td><td>the procs id of the worker who ownes this <a class="el" href="classsinga_1_1Param.html">Param</a> object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="pm__worker_8h_source.html">pm_worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[23/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Msg.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Msg.html b/api/classsinga_1_1Msg.html
new file mode 100644
index 0000000..c0e213c
--- /dev/null
+++ b/api/classsinga_1_1Msg.html
@@ -0,0 +1,323 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Msg 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Msg.html">Msg</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="#pro-static-attribs">Static Protected Attributes</a> &#124;
+<a href="classsinga_1_1Msg-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Msg Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::Msg:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Msg.png" usemap="#singa::Msg_map" alt=""/>
+  <map id="singa::Msg_map" name="singa::Msg_map">
+<area href="classsinga_1_1BaseMsg.html" alt="singa::BaseMsg" shape="rect" coords="0,0,100,24"/>
+</map>
+ </div></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:a91f08357ea61fb7008ea0d32c42ccbc1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Msg.html#a91f08357ea61fb7008ea0d32c42ccbc1">set_src</a> (int group_id, int id, int flag)</td></tr>
+<tr class="separator:a91f08357ea61fb7008ea0d32c42ccbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a730e3eae8c11aebbfe12bd0440a2b95b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a730e3eae8c11aebbfe12bd0440a2b95b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_dst</b> (int group_id, int id, int flag)</td></tr>
+<tr class="separator:a730e3eae8c11aebbfe12bd0440a2b95b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2eb47b5edd165e0aca98b9e000c484bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eb47b5edd165e0aca98b9e000c484bb"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_src</b> (int procs_id, int flag)</td></tr>
+<tr class="separator:a2eb47b5edd165e0aca98b9e000c484bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad96871f24169ae7a0a9a176784021d63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad96871f24169ae7a0a9a176784021d63"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_dst</b> (int procs_id, int flag)</td></tr>
+<tr class="separator:ad96871f24169ae7a0a9a176784021d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58a2a17ee81e2e0236054199d18522ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58a2a17ee81e2e0236054199d18522ac"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>src</b> () const </td></tr>
+<tr class="separator:a58a2a17ee81e2e0236054199d18522ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada08f8340c5675bad0a2c9480e6993f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada08f8340c5675bad0a2c9480e6993f2"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>dst</b> () const </td></tr>
+<tr class="separator:ada08f8340c5675bad0a2c9480e6993f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f4d7ee6b121110013ca3c7503b3359e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f4d7ee6b121110013ca3c7503b3359e"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_group_id</b> () const </td></tr>
+<tr class="separator:a6f4d7ee6b121110013ca3c7503b3359e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43112516400cfa9deb245757e9c1c022"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a43112516400cfa9deb245757e9c1c022"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_group_id</b> () const </td></tr>
+<tr class="separator:a43112516400cfa9deb245757e9c1c022"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22352c38b1c3dd3ca38695ba97b15776"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22352c38b1c3dd3ca38695ba97b15776"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_id</b> () const </td></tr>
+<tr class="separator:a22352c38b1c3dd3ca38695ba97b15776"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a350f1f910445cb783caa1ff8c7e41355"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a350f1f910445cb783caa1ff8c7e41355"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_id</b> () const </td></tr>
+<tr class="separator:a350f1f910445cb783caa1ff8c7e41355"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a5c137abd402980114ea5f9001a0a1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a5c137abd402980114ea5f9001a0a1f"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_flag</b> () const </td></tr>
+<tr class="separator:a5a5c137abd402980114ea5f9001a0a1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11b63f8eb7217778bbf8102c4a6910de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11b63f8eb7217778bbf8102c4a6910de"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_flag</b> () const </td></tr>
+<tr class="separator:a11b63f8eb7217778bbf8102c4a6910de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c3fa80843e3f1ffd9fd60ad4d3f340f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c3fa80843e3f1ffd9fd60ad4d3f340f"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>SwapAddr</b> ()</td></tr>
+<tr class="separator:a2c3fa80843e3f1ffd9fd60ad4d3f340f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc17471b28900db0c48a706cc72a07b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc17471b28900db0c48a706cc72a07b8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_type</b> (int type)</td></tr>
+<tr class="separator:afc17471b28900db0c48a706cc72a07b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47f0d9b6be03f3963d40c6d0da640e22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47f0d9b6be03f3963d40c6d0da640e22"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_target</b> (int target)</td></tr>
+<tr class="separator:a47f0d9b6be03f3963d40c6d0da640e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62d73733f2b56def09ad71c6494e1795"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62d73733f2b56def09ad71c6494e1795"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a62d73733f2b56def09ad71c6494e1795"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a149a6327f9710504f6f0deff3e54c9e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a149a6327f9710504f6f0deff3e54c9e3"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>target</b> () const </td></tr>
+<tr class="separator:a149a6327f9710504f6f0deff3e54c9e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1717eae9e3467b401585740fbe60514f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1717eae9e3467b401585740fbe60514f"></a>
+virtual <a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Msg.html#a1717eae9e3467b401585740fbe60514f">CopyAddr</a> ()</td></tr>
+<tr class="memdesc:a1717eae9e3467b401585740fbe60514f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy src and dst address, including group_id, id, flag. <br/></td></tr>
+<tr class="separator:a1717eae9e3467b401585740fbe60514f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75243cab3c5fa240f50b1aeb95c63998"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75243cab3c5fa240f50b1aeb95c63998"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>SetAddr</b> (<a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> *msg)</td></tr>
+<tr class="separator:a75243cab3c5fa240f50b1aeb95c63998"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2be7d16b024feeadbbfac1173f66a4b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2be7d16b024feeadbbfac1173f66a4b2"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Msg.html#a2be7d16b024feeadbbfac1173f66a4b2">add_frame</a> (const void *addr, int nBytes)</td></tr>
+<tr class="memdesc:a2be7d16b024feeadbbfac1173f66a4b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame (a chunck of bytes) into the message. <br/></td></tr>
+<tr class="separator:a2be7d16b024feeadbbfac1173f66a4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2edf631b18ce3ac3bfdaa02c23a8e38b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2edf631b18ce3ac3bfdaa02c23a8e38b"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>frame_size</b> ()</td></tr>
+<tr class="separator:a2edf631b18ce3ac3bfdaa02c23a8e38b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ec3dad391538bcc1ad568d435858999"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ec3dad391538bcc1ad568d435858999"></a>
+virtual void *&#160;</td><td class="memItemRight" valign="bottom"><b>frame_data</b> ()</td></tr>
+<tr class="separator:a7ec3dad391538bcc1ad568d435858999"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cea3c81d4d3a5f6ee60c294d1c116eb"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Msg.html#a1cea3c81d4d3a5f6ee60c294d1c116eb">next_frame</a> ()</td></tr>
+<tr class="memdesc:a1cea3c81d4d3a5f6ee60c294d1c116eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the cursor to the next frame.  <a href="#a1cea3c81d4d3a5f6ee60c294d1c116eb">More...</a><br/></td></tr>
+<tr class="separator:a1cea3c81d4d3a5f6ee60c294d1c116eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e30f26ccb4cb916399de6198cccf1c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e30f26ccb4cb916399de6198cccf1c7"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ParseFromZmsg</b> (zmsg_t *msg)</td></tr>
+<tr class="separator:a2e30f26ccb4cb916399de6198cccf1c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01e527bad59b08d43514b8f57ec16170"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01e527bad59b08d43514b8f57ec16170"></a>
+zmsg_t *&#160;</td><td class="memItemRight" valign="bottom"><b>DumpToZmsg</b> ()</td></tr>
+<tr class="separator:a01e527bad59b08d43514b8f57ec16170"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1BaseMsg"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1BaseMsg')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td></tr>
+<tr class="memitem:ab203b4c239a4dffdd658efb26870c9ed inherit pub_methods_classsinga_1_1BaseMsg"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab203b4c239a4dffdd658efb26870c9ed"></a>
+virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#ab203b4c239a4dffdd658efb26870c9ed">~BaseMsg</a> ()</td></tr>
+<tr class="memdesc:ab203b4c239a4dffdd658efb26870c9ed inherit pub_methods_classsinga_1_1BaseMsg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor to free memory. <br/></td></tr>
+<tr class="separator:ab203b4c239a4dffdd658efb26870c9ed inherit pub_methods_classsinga_1_1BaseMsg"><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:ac76ae5425f08a7ff75f0f1f35da76611"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac76ae5425f08a7ff75f0f1f35da76611"></a>
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>src_</b></td></tr>
+<tr class="separator:ac76ae5425f08a7ff75f0f1f35da76611"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93948a5fa46d190faccad24a3e0e3a6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93948a5fa46d190faccad24a3e0e3a6b"></a>
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_</b></td></tr>
+<tr class="separator:a93948a5fa46d190faccad24a3e0e3a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9558415bfcf365cc15a82d6d21061b55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9558415bfcf365cc15a82d6d21061b55"></a>
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>target_</b></td></tr>
+<tr class="separator:a9558415bfcf365cc15a82d6d21061b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11bc0807ff0f5a96c939e3d96029fa93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11bc0807ff0f5a96c939e3d96029fa93"></a>
+zmsg_t *&#160;</td><td class="memItemRight" valign="bottom"><b>msg_</b></td></tr>
+<tr class="separator:a11bc0807ff0f5a96c939e3d96029fa93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6624de202404abd3facbdfd361699e5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6624de202404abd3facbdfd361699e5d"></a>
+zframe_t *&#160;</td><td class="memItemRight" valign="bottom"><b>frame_</b></td></tr>
+<tr class="separator:a6624de202404abd3facbdfd361699e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a88f3cd5d6b49802a57a024c5599b9483"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88f3cd5d6b49802a57a024c5599b9483"></a>
+static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>kOff1</b> =16</td></tr>
+<tr class="separator:a88f3cd5d6b49802a57a024c5599b9483"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3903649d4181ad185572b195399842e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3903649d4181ad185572b195399842e0"></a>
+static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>kOff2</b> =4</td></tr>
+<tr class="separator:a3903649d4181ad185572b195399842e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cc61e1d982aaf1e6731da0b3dc772ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cc61e1d982aaf1e6731da0b3dc772ed"></a>
+static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>kOff3</b> =24</td></tr>
+<tr class="separator:a0cc61e1d982aaf1e6731da0b3dc772ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4c8c9dc0b0d1363eb543706032ea035"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4c8c9dc0b0d1363eb543706032ea035"></a>
+static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>kMask1</b> =(1&lt;&lt;kOff1)-1</td></tr>
+<tr class="separator:ad4c8c9dc0b0d1363eb543706032ea035"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00ea5e79b3cb5897fd54413035dd1c63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00ea5e79b3cb5897fd54413035dd1c63"></a>
+static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>kMask2</b> =(1&lt;&lt;kOff2)-1</td></tr>
+<tr class="separator:a00ea5e79b3cb5897fd54413035dd1c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab243da3e42e27724ec62bcccb796927c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab243da3e42e27724ec62bcccb796927c"></a>
+static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>kMask3</b> =(1&lt;&lt;kOff3)-1</td></tr>
+<tr class="separator:ab243da3e42e27724ec62bcccb796927c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a1cea3c81d4d3a5f6ee60c294d1c116eb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool singa::Msg::next_frame </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 class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Move the cursor to the next frame. </p>
+<dl class="section return"><dt>Returns</dt><dd>true if the next frame is not NULL; otherwise false </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1BaseMsg.html#a619706d23b0c1927069040e1d3ba604a">singa::BaseMsg</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a91f08357ea61fb7008ea0d32c42ccbc1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::Msg::set_src </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</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">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">group_id</td><td>worker/server group id </td></tr>
+    <tr><td class="paramname">id</td><td>worker/server id within the group </td></tr>
+    <tr><td class="paramname">flag</td><td>0 for server, 1 for worker, 2 for stub </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1BaseMsg.html#ad13b31cea0f4b16025d36205a979c12b">singa::BaseMsg</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="msg_8h_source.html">msg.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Msg.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Msg.png b/api/classsinga_1_1Msg.png
new file mode 100644
index 0000000..80190ca
Binary files /dev/null and b/api/classsinga_1_1Msg.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1NesterovUpdater-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1NesterovUpdater-members.html b/api/classsinga_1_1NesterovUpdater-members.html
new file mode 100644
index 0000000..edfa98e
--- /dev/null
+++ b/api/classsinga_1_1NesterovUpdater-members.html
@@ -0,0 +1,113 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1NesterovUpdater.html">NesterovUpdater</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::NesterovUpdater Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base_lr_</b> (defined in <a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetLearningRate</b>(int step) (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>Init</b>(const UpdaterProto &amp;proto) (defined in <a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>momentum_</b> (defined in <a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>Update</b>(int step, shared_ptr&lt; Param &gt; param, float grad_scale=1.0f) (defined in <a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>weight_decay_</b> (defined in <a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NesterovUpdater.html">singa::NesterovUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1NesterovUpdater.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1NesterovUpdater.html b/api/classsinga_1_1NesterovUpdater.html
new file mode 100644
index 0000000..8040640
--- /dev/null
+++ b/api/classsinga_1_1NesterovUpdater.html
@@ -0,0 +1,149 @@
+<!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.6"/>
+<title>Apache SINGA: singa::NesterovUpdater 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1NesterovUpdater.html">NesterovUpdater</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_1NesterovUpdater-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::NesterovUpdater Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::NesterovUpdater:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1NesterovUpdater.png" usemap="#singa::NesterovUpdater_map" alt=""/>
+  <map id="singa::NesterovUpdater_map" name="singa::NesterovUpdater_map">
+<area href="classsinga_1_1Updater.html" title="Updater for Param. " alt="singa::Updater" shape="rect" coords="0,0,143,24"/>
+</map>
+ </div></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:a24858ac9b8d514d3cc8e45035a585c52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24858ac9b8d514d3cc8e45035a585c52"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (const UpdaterProto &amp;proto)</td></tr>
+<tr class="separator:a24858ac9b8d514d3cc8e45035a585c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f205875c9ca6c2fe37a8d7e037ab96a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f205875c9ca6c2fe37a8d7e037ab96a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (int step, shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, float grad_scale=1.0f)</td></tr>
+<tr class="separator:a9f205875c9ca6c2fe37a8d7e037ab96a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4189828903aa55cddefe468575f9f2c8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>GetLearningRate</b> (int step)</td></tr>
+<tr class="separator:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><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:a9879b94d2799e14b0b13b134e1fafa37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9879b94d2799e14b0b13b134e1fafa37"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>base_lr_</b></td></tr>
+<tr class="separator:a9879b94d2799e14b0b13b134e1fafa37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3eabc913dc9a3fd6ef98560e71bab27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3eabc913dc9a3fd6ef98560e71bab27"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>momentum_</b></td></tr>
+<tr class="separator:ae3eabc913dc9a3fd6ef98560e71bab27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a109e989490f35cd6676ac092a520bebb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a109e989490f35cd6676ac092a520bebb"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>weight_decay_</b></td></tr>
+<tr class="separator:a109e989490f35cd6676ac092a520bebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad5f46dc2f78aa73b6698a11447aad2d"></a>
+UpdaterProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="updater_8h_source.html">updater.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1NesterovUpdater.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1NesterovUpdater.png b/api/classsinga_1_1NesterovUpdater.png
new file mode 100644
index 0000000..52bc19f
Binary files /dev/null and b/api/classsinga_1_1NesterovUpdater.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1NeuralNet-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1NeuralNet-members.html b/api/classsinga_1_1NeuralNet-members.html
new file mode 100644
index 0000000..12f01e8
--- /dev/null
+++ b/api/classsinga_1_1NeuralNet-members.html
@@ -0,0 +1,138 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::NeuralNet Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#a83bf4d104eb009b22e559282d92dc4d3">AddLayer</a>(const LayerProto &amp;layer_proto)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#ae548e6daf3f7ae01e2beb9a7f5bc6f03">AddLayer</a>(const Layer *layer)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ConstructNeuralNet</b>(const NetProto &amp;net_proto) (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>CreatePartitonedGraph</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;layers, const map&lt; string, shared_ptr&lt; Layer &gt;&gt; &amp;name2layer) (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>datalayers</b>() (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>datalayers_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#a012046b1543c8c24209e6ccefe4603f9">DebugInfo</a>()</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetNameToLayer</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;layers) (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>group_size_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layers</b>() (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layers_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>losslayers</b>() (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>losslayers_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>name2layer</b>(string name) (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>name2layer_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>name2layerproto_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#ae5c47bb34897f5029d4b82e96f50081a">NeuralNet</a>(NetProto net_proto, int group_size=1)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>paramid2param</b>(int id) (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>paramid2param_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>params</b>() const  (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>params_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#ad8955f91a3f9ed9557d885c594445d49">parserlayers</a>()</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>parserlayers_</b> (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#a0a207c0744182a802925c41355ef0f2f">PartitionLayers</a>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;layers)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>PartitionNeuralNet</b>() (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#a5dd6ab4cd78c3f1562b82fbff4644b6c">RegisterLayers</a>()</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#a40c2bb568e630d04b4106f37f61f58e7">SetupNeuralNet</a>(const NetProto &amp;np, Phase phase)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#ac135472b2cec6cebb0be27a558d671b6">ShareParams</a>(shared_ptr&lt; NeuralNet &gt; other, int flag)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#ac59d09a7129befe7eb4206d22075eb11">ToAdjacency</a>()</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToProto</b>(NetProto *net_proto, bool copyData=false) (defined in <a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a>)</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html#a947cdee455cd4c29403459aeb7e48f47">ToString</a>()</td><td class="entry"><a class="el" href="classsinga_1_1NeuralNet.html">singa::NeuralNet</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[15/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Server-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Server-members.html b/api/classsinga_1_1Server-members.html
new file mode 100644
index 0000000..170d448
--- /dev/null
+++ b/api/classsinga_1_1Server-members.html
@@ -0,0 +1,113 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Server.html">Server</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Server Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Server.html">singa::Server</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dealer_</b> (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>group_id_</b> (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pmserver_</b> (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Run</b>() (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Server</b>(int group_id, int server_id) (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>server_id_</b> (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Setup</b>(const UpdaterProto &amp;proto, shared_ptr&lt; PMServer::ParamShard &gt; shard, shared_ptr&lt; Dealer &gt; dealer) (defined in <a class="el" href="classsinga_1_1Server.html">singa::Server</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Server.html">singa::Server</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Server.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Server.html b/api/classsinga_1_1Server.html
new file mode 100644
index 0000000..0084b1b
--- /dev/null
+++ b/api/classsinga_1_1Server.html
@@ -0,0 +1,138 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Server 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Server.html">Server</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_1Server-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Server Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:ae47882e5b465523788ed3b5c218f58af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae47882e5b465523788ed3b5c218f58af"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Server</b> (int group_id, int server_id)</td></tr>
+<tr class="separator:ae47882e5b465523788ed3b5c218f58af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a699e2c97e6fdc329637ca65b0c3a5dee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a699e2c97e6fdc329637ca65b0c3a5dee"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (const UpdaterProto &amp;proto, shared_ptr&lt; PMServer::ParamShard &gt; shard, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; dealer)</td></tr>
+<tr class="separator:a699e2c97e6fdc329637ca65b0c3a5dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4898ee0d8600b1c32d19a3e1cf8c876"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4898ee0d8600b1c32d19a3e1cf8c876"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Run</b> ()</td></tr>
+<tr class="separator:aa4898ee0d8600b1c32d19a3e1cf8c876"><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:ae2cfcc33989b89862b16513450f24814"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2cfcc33989b89862b16513450f24814"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_id_</b></td></tr>
+<tr class="separator:ae2cfcc33989b89862b16513450f24814"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f7f7f76a662fa3adb97591e74035fc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f7f7f76a662fa3adb97591e74035fc8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>server_id_</b></td></tr>
+<tr class="separator:a9f7f7f76a662fa3adb97591e74035fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9b9e5d740cc5ce35f229865b3678e9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9b9e5d740cc5ce35f229865b3678e9a"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1PMServer.html">PMServer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pmserver_</b></td></tr>
+<tr class="separator:af9b9e5d740cc5ce35f229865b3678e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2334e9d1ba1f9c595fd3d54ec3023735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2334e9d1ba1f9c595fd3d54ec3023735"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dealer_</b></td></tr>
+<tr class="separator:a2334e9d1ba1f9c595fd3d54ec3023735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="server_8h_source.html">server.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ShardDataLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ShardDataLayer-members.html b/api/classsinga_1_1ShardDataLayer-members.html
new file mode 100644
index 0000000..1e0ea6d
--- /dev/null
+++ b/api/classsinga_1_1ShardDataLayer-members.html
@@ -0,0 +1,167 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ShardDataLayer.html">ShardDataLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ShardDataLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ShardDataLayer.html">singa::ShardDataLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>batchsize</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>batchsize_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ShardDataLayer.html">singa::ShardDataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ShardDataLayer.html">singa::ShardDataLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">singa::DataLayer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">singa::DataLayer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ShardDataLayer.html">singa::ShardDataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ShardDataLayer.html">singa::ShardDataLayer</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_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">singa::DataLayer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0"><td class="entry"><b>has_set_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_datalayer</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_data</b>(const Layer *layer=nullptr) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#abc76f037afc13a17ab07082cfae945de">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"><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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prefetch_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Prefetching</b>(bool training) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>random_skip_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>records</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>records_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sample</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>sample_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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>set_prefetch</b>(bool prefetch) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ShardDataLayer.html#a3dbc554bbed8a2515c3bb8b6948dd407">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ShardDataLayer.html">singa::ShardDataLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">singa::DataLayer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ShardDataLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ShardDataLayer.html b/api/classsinga_1_1ShardDataLayer.html
new file mode 100644
index 0000000..9b0f149
--- /dev/null
+++ b/api/classsinga_1_1ShardDataLayer.html
@@ -0,0 +1,360 @@
+<!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.6"/>
+<title>Apache SINGA: singa::ShardDataLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ShardDataLayer.html">ShardDataLayer</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_1ShardDataLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ShardDataLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::ShardDataLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1ShardDataLayer.png" usemap="#singa::ShardDataLayer_map" alt=""/>
+  <map id="singa::ShardDataLayer_map" name="singa::ShardDataLayer_map">
+<area href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. " alt="singa::DataLayer" shape="rect" coords="0,56,141,80"/>
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,141,24"/>
+</map>
+ </div></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:ad7ddb590112aec6e7552382d8e36e5d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7ddb590112aec6e7552382d8e36e5d5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:ad7ddb590112aec6e7552382d8e36e5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec28b931591bccbe70fc5334a37b33c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec28b931591bccbe70fc5334a37b33c1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:aec28b931591bccbe70fc5334a37b33c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3dbc554bbed8a2515c3bb8b6948dd407"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ShardDataLayer.html#a3dbc554bbed8a2515c3bb8b6948dd407">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a3dbc554bbed8a2515c3bb8b6948dd407"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a3dbc554bbed8a2515c3bb8b6948dd407">More...</a><br/></td></tr>
+<tr class="separator:a3dbc554bbed8a2515c3bb8b6948dd407"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1DataLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1DataLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td></tr>
+<tr class="memitem:a1764fa7801dd568e706beacf18d284b0 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a1764fa7801dd568e706beacf18d284b0 inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a1764fa7801dd568e706beacf18d284b0">More...</a><br/></td></tr>
+<tr class="separator:a1764fa7801dd568e706beacf18d284b0 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af721c9697239513cbab4a39680557da1 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af721c9697239513cbab4a39680557da1"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:af721c9697239513cbab4a39680557da1 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ab6f424cb1838773bb16c94d6a585a5 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a2ab6f424cb1838773bb16c94d6a585a5 inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a2ab6f424cb1838773bb16c94d6a585a5">More...</a><br/></td></tr>
+<tr class="separator:a2ab6f424cb1838773bb16c94d6a585a5 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a861a39f12637b9873c00eccfaf8218dc inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a861a39f12637b9873c00eccfaf8218dc"></a>
+virtual const vector&lt; Record &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>records</b> () const </td></tr>
+<tr class="separator:a861a39f12637b9873c00eccfaf8218dc inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703368d1972e8343e0dea4acd93702ae inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a> ()</td></tr>
+<tr class="memdesc:a703368d1972e8343e0dea4acd93702ae inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a703368d1972e8343e0dea4acd93702ae">More...</a><br/></td></tr>
+<tr class="separator:a703368d1972e8343e0dea4acd93702ae inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c7b81249e522dd231a098ffed481496 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a3c7b81249e522dd231a098ffed481496 inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a3c7b81249e522dd231a098ffed481496">More...</a><br/></td></tr>
+<tr class="separator:a3c7b81249e522dd231a098ffed481496 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9409f6c2e8c697df94cbc4de445f033e inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9409f6c2e8c697df94cbc4de445f033e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a9409f6c2e8c697df94cbc4de445f033e inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a9409f6c2e8c697df94cbc4de445f033e inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ffcae36ddcc4a445b9a91b083b29d2b inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a> () const </td></tr>
+<tr class="memdesc:a5ffcae36ddcc4a445b9a91b083b29d2b inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a5ffcae36ddcc4a445b9a91b083b29d2b">More...</a><br/></td></tr>
+<tr class="separator:a5ffcae36ddcc4a445b9a91b083b29d2b inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a7c62ba442da367c22fdcc477eecc55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a7c62ba442da367c22fdcc477eecc55"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize</b> () const </td></tr>
+<tr class="separator:a9a7c62ba442da367c22fdcc477eecc55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27ccfa2654a5c6cf0bf7efe453686e55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27ccfa2654a5c6cf0bf7efe453686e55"></a>
+virtual const Record &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>sample</b> () const </td></tr>
+<tr class="separator:a27ccfa2654a5c6cf0bf7efe453686e55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c1f66e9fa9ff8cfddc984de18a6c79 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88c1f66e9fa9ff8cfddc984de18a6c79"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a88c1f66e9fa9ff8cfddc984de18a6c79 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae15c0c4720f0a070fcfc3416c1449a97 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:ae15c0c4720f0a070fcfc3416c1449a97 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cad630361426ef44d7eec3983eb5138 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cad630361426ef44d7eec3983eb5138"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_prefetch</b> (bool prefetch)</td></tr>
+<tr class="separator:a1cad630361426ef44d7eec3983eb5138 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e18bde747d349aff7ea7dc3a835c7fc inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e18bde747d349aff7ea7dc3a835c7fc"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:a7e18bde747d349aff7ea7dc3a835c7fc inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31b0158c549f2671ba18e91964540ab8 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31b0158c549f2671ba18e91964540ab8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Prefetching</b> (bool training)</td></tr>
+<tr class="separator:a31b0158c549f2671ba18e91964540ab8 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1DataLayer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1DataLayer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td></tr>
+<tr class="memitem:aa056218d817d9f7e3a1134bc720ee1f4 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa056218d817d9f7e3a1134bc720ee1f4"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_set_</b></td></tr>
+<tr class="separator:aa056218d817d9f7e3a1134bc720ee1f4 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3e8b9fd61209735e006d88e718eacce inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3e8b9fd61209735e006d88e718eacce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_</b></td></tr>
+<tr class="separator:ab3e8b9fd61209735e006d88e718eacce inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d074d1bb6c8c07dc88177c8f1a1839e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d074d1bb6c8c07dc88177c8f1a1839e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>random_skip_</b></td></tr>
+<tr class="separator:a8d074d1bb6c8c07dc88177c8f1a1839e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2e2868a9b7baee2e0edc9c97f4508c2 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2e2868a9b7baee2e0edc9c97f4508c2"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize_</b></td></tr>
+<tr class="separator:ae2e2868a9b7baee2e0edc9c97f4508c2 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af395ff4d15be91a719464f4bad109bb8 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af395ff4d15be91a719464f4bad109bb8"></a>
+Record&#160;</td><td class="memItemRight" valign="bottom"><b>sample_</b></td></tr>
+<tr class="separator:af395ff4d15be91a719464f4bad109bb8 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8081b038aa2d5b07bf547f72db61f6e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8081b038aa2d5b07bf547f72db61f6e"></a>
+vector&lt; Record &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>records_</b></td></tr>
+<tr class="separator:ab8081b038aa2d5b07bf547f72db61f6e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a3dbc554bbed8a2515c3bb8b6948dd407"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ShardDataLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1DataLayer.html#aad95cbeac929cdb9eeb7fb6e7996ac26">singa::DataLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ShardDataLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ShardDataLayer.png b/api/classsinga_1_1ShardDataLayer.png
new file mode 100644
index 0000000..9c4d9e4
Binary files /dev/null and b/api/classsinga_1_1ShardDataLayer.png differ



[47/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/base__layer_8h_source.html
----------------------------------------------------------------------
diff --git a/api/base__layer_8h_source.html b/api/base__layer_8h_source.html
new file mode 100644
index 0000000..4c3f4d6
--- /dev/null
+++ b/api/base__layer_8h_source.html
@@ -0,0 +1,575 @@
+<!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.6"/>
+<title>Apache SINGA: /home/wangwei/program/asf/incubator-singa/include/neuralnet/base_layer.h Source File</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="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 id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="dir_6c391fc7db700cf41983872f39408b84.html">asf</a></li><li class="navelem"><a class="el" href="dir_13981ebe1996195cf5339def4a394399.html">incubator-singa</a></li><li class="navelem"><a class="el" href="dir_a20507fa2f2ddc21c47fdd32cfd67062.html">include</a></li><li class="navelem"><a class="el" href="dir_2e910d0440df6e38865e84b3a60bdb80.html">neuralnet</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">base_layer.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef INCLUDE_BASE_LAYER_H_</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define INCLUDE_BASE_LAYER_H_</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;condition_variable&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;mutex&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;chrono&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;proto/model.pb.h&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;utils/param.h&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;utils/common.h&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;utils/blob.h&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">using</span> std::vector;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">using</span> std::shared_ptr;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">using</span> std::make_shared;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">using</span> std::string;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">using</span> std::map;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span>singa{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">class </span>Layer;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">typedef</span> shared_ptr&lt;Layer&gt; SLayer;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html">   38</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <a class="code" href="classsinga_1_1Layer.html">Layer</a>(){}</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(<span class="keyword">const</span> LayerProto &amp;proto);</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>&amp; other, <span class="keyword">const</span> vector&lt;int&gt;&amp; shape);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classsinga_1_1Layer.html">Layer</a>(){}</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, <span class="keywordtype">bool</span> copyData);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; <a class="code" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>();</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a>();</div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">   91</a></span>&#160;  <span class="keyword">virtual</span> vector&lt;shared_ptr&lt;Param&gt;&gt; <a class="code" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a>(){</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">return</span> vector&lt;shared_ptr&lt;Param&gt;&gt;();</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  }</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a>(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a>(<span class="keywordtype">bool</span> training);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>();</div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">  121</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordtype">int</span> ret=0;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a>()==kLayerPartition)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      ret= 1;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a>()==kNone)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      ret= -1;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  }</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">  137</a></span>&#160;  <span class="keyword">virtual</span> ConnectionType <a class="code" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(<span class="keywordtype">int</span> k)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    CHECK_LT(k, srclayers_.size());</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordflow">return</span> kOneToOne;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  }</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">  145</a></span>&#160;  <span class="keyword">virtual</span> PartitionType <a class="code" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">return</span> layer_proto_.partition_type();</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  }</div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">  151</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>){</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    layer_proto_.set_locationid(<span class="keywordtype">id</span>);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  }</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">int</span> locationid()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">return</span> layer_proto_.locationid();</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  }</div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">  160</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>){</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    layer_proto_.set_partitionid(<span class="keywordtype">id</span>);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">int</span> partitiionid()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordflow">return</span> layer_proto_.partitionid();</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  }</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> set_name(<span class="keywordtype">string</span> <a class="code" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>){</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    name_=<a class="code" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    layer_proto_.set_name(name);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  }</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">string</span> type()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordflow">return</span> layer_proto_.type();</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  }</div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">  176</a></span>&#160;  <span class="keyword">const</span> std::string &amp;<a class="code" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keywordflow">return</span> layer_proto_.name();</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  }</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="keyword">const</span> vector&lt;int&gt;&amp; shape(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(layer).shape();</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  }</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">  186</a></span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; <a class="code" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* from=<span class="keyword">nullptr</span>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keywordflow">return</span> data_;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  }</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* mutable_data(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* from=<span class="keyword">nullptr</span>){</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">return</span> &amp;data_;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  }</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; grad(<span class="keyword">const</span> Layer* from=<span class="keyword">nullptr</span>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">return</span> grad_;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  }</div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">  199</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* <a class="code" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* from=<span class="keyword">nullptr</span>) {</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordflow">return</span> &amp;grad_;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  }</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">  206</a></span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> vector&lt; SLayer&gt; <a class="code" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keywordflow">return</span> srclayers_;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  }</div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">  212</a></span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> vector&lt;SLayer&gt; <a class="code" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keywordflow">return</span> dstlayers_;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  }</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">int</span> srclayers_size()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordflow">return</span> srclayers_.size();</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  }</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">int</span> dstlayers_size()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">return</span> dstlayers_.size();</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  }</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ClearDstLayers() {</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    dstlayers_.clear();</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  }</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ClearSrcLayers() {</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    srclayers_.clear();</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  }</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> AddSrcLayer(SLayer src){</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    srclayers_.push_back(src);</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  }</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> AddDstLayer(SLayer dst){</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    dstlayers_.push_back(dst);</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  }</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_datalayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  }</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_parserlayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  }</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_losslayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  }</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_bridgesrclayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  }</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_bridgedstlayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  }</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordtype">string</span> name_;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="comment">//vector&lt;shared_ptr&lt;SyncedMem&gt;&gt; memblobs_;</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <a class="code" href="classBlob.html">Blob&lt;float&gt;</a> data_, grad_;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">// DArray pos_, neg_;//for CD</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  LayerProto layer_proto_;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  vector&lt;SLayer&gt; srclayers_, dstlayers_;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;};</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classsinga_1_1BridgeSrcLayer.html">  264</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1BridgeSrcLayer.html">BridgeSrcLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1BridgeSrcLayer.html#a49c7a2a581b136cda67264633feedb29">SetupAfterPartition</a>();</div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classsinga_1_1BridgeSrcLayer.html#aa81a45289008df0334e66e6b639862a4">  268</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1BridgeSrcLayer.html#aa81a45289008df0334e66e6b639862a4">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1BridgeSrcLayer.html#a6b6b652e2ae1b2c863b5143e07e9b6bf">ComputeFeature</a>(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_bridgesrclayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  }</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> set_ready(<span class="keywordtype">bool</span> a) {</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    ready_=a;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  }</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ready()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">return</span> ready_;</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  }</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="keywordtype">bool</span> ready_;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;};</div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="classsinga_1_1BridgeDstLayer.html">  291</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1BridgeDstLayer.html">BridgeDstLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1BridgeDstLayer.html#a302d7eff4b295ec6869c2adccb6b96ed">SetupAfterPartition</a>();</div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classsinga_1_1BridgeDstLayer.html#a90883d70214e4ac2e1afd2337531ef03">  295</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1BridgeDstLayer.html#a90883d70214e4ac2e1afd2337531ef03">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1BridgeDstLayer.html#a16beb7c175217864bf2f75af016aa5ac">ComputeFeature</a>(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_bridgedstlayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  }</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> set_ready(<span class="keywordtype">bool</span> a) {</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    ready_=a;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  }</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ready()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordflow">return</span> ready_;</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  }</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="keywordtype">bool</span> ready_;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;};</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classsinga_1_1ConcateLayer.html">  317</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1ConcateLayer.html">ConcateLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ConcateLayer.html#a987c60e6c2f00e76617b64ac769f3887">SetupAfterPartition</a>();</div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classsinga_1_1ConcateLayer.html#a3781c4852c40650f6e20858929f60ffa">  321</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ConcateLayer.html#a3781c4852c40650f6e20858929f60ffa">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ComputeFeature(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;shared_ptr&lt;Layer&gt;&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;shared_ptr&lt;Layer&gt;&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;};</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div>
+<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html">  335</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1DataLayer.html">DataLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>{</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a>(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_datalayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  }</div>
+<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">  342</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){};</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> vector&lt;Record&gt;&amp; records()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keywordflow">return</span> records_;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  }</div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">  346</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a>(){</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    vector&lt;SLayer&gt; dummy;</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <a class="code" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a>(layer_proto_,dummy);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    has_set_=<span class="keyword">true</span>;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  }</div>
+<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">  351</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">  355</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a>(){</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordflow">if</span>(!has_set_)</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <a class="code" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a>();</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  }</div>
+<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">  359</a></span>&#160;  <span class="keyword">virtual</span> PartitionType <a class="code" href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a> ()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">return</span> kNone;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  }</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">int</span> batchsize()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordflow">return</span> layer_proto_.data_param().batchsize();</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  }</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> Record&amp; sample()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordflow">return</span> sample_;</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  }</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* mutable_data(<span class="keyword">const</span> Layer* layer=<span class="keyword">nullptr</span>) {</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;  }</div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">  373</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* <a class="code" href="classsinga_1_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>) {</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;  }</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;  <span class="keywordtype">void</span> set_prefetch(<span class="keywordtype">bool</span> prefetch){</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    prefetch_=prefetch;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  }</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div>
+<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">  380</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">ComputeFeature</a>(<span class="keywordtype">bool</span> training) {</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <span class="keywordflow">if</span>(!prefetch_)</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;      <a class="code" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a>(training, srclayers_);</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  }</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> Prefetching(<span class="keywordtype">bool</span> training){</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    CHECK(prefetch_);</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <a class="code" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a>(training, srclayers_);</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;  }</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  <span class="keywordtype">bool</span> has_set_;</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  <span class="keywordtype">bool</span> prefetch_;</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  <span class="keywordtype">int</span> random_skip_, batchsize_;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  Record sample_;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  vector&lt;Record&gt; records_;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;};</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classsinga_1_1SliceLayer.html">  401</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1SliceLayer.html">SliceLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1SliceLayer.html#a15ce41c27243962d2c6c9791f9661ace">SetupAfterPartition</a>();</div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">  405</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; <a class="code" href="classsinga_1_1SliceLayer.html#a635401ab1990f4dd97bf936cc6c61e71">data</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; grad(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* mutable_data(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* <a class="code" href="classsinga_1_1SliceLayer.html#a4022c8722eb9b77d8b774c8987c4cf7e">mutable_grad</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ComputeFeature(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;shared_ptr&lt;Layer&gt;&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;shared_ptr&lt;Layer&gt;&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  <span class="keywordtype">int</span> SliceID(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;  vector&lt;Blob&lt;float&gt;&gt; datavec_, gradvec_;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;};</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div>
+<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classsinga_1_1SplitLayer.html">  425</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1SplitLayer.html">SplitLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1SplitLayer.html#a7b54c7a0f54190b476a676028f7cc4ae">SetupAfterPartition</a>();</div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classsinga_1_1SplitLayer.html#a949028cd476e463b6893fb9ff6c7d664">  429</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1SplitLayer.html#a949028cd476e463b6893fb9ff6c7d664">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ComputeFeature(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;shared_ptr&lt;Layer&gt;&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;shared_ptr&lt;Layer&gt;&gt;&amp; srclayers);</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;};</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classsinga_1_1LossLayer.html">  440</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1LossLayer.html">LossLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>{</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">  448</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* <a class="code" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">mutable_grad</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>){</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  }</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; grad(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* from=<span class="keyword">nullptr</span>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    CHECK(<span class="keyword">false</span>)&lt;&lt;<span class="stringliteral">&quot;Loss layer has not gradient blob&quot;</span>;</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    <span class="keywordflow">return</span> grad_;</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;  }</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_losslayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  }</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; metric()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="keywordflow">return</span> metric_;</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  }</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  <a class="code" href="classBlob.html">Blob&lt;float&gt;</a> metric_;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;};</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div>
+<div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html">  469</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsinga_1_1ParserLayer.html">ParserLayer</a>: <span class="keyword">public</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a> {</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a>(<span class="keyword">const</span> LayerProto&amp; proto, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers)=0;</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">ParseRecords</a>(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;Record&gt;&amp; records, <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* blob)=0;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_parserlayer()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  }</div>
+<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">  484</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a>(<span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){};</div>
+<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">  485</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a>(){</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <a class="code" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a>(layer_proto_,srclayers_);</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    has_set_=<span class="keyword">true</span>;</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    ready_=<span class="keyword">true</span>;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    prefetch_=<span class="keyword">false</span>;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  }</div>
+<div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">  491</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a>(){</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keywordflow">if</span>(!has_set_)</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;      <a class="code" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a>();</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;  }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">  495</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a>(<span class="keyword">const</span> LayerProto&amp; proto,</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;      <span class="keyword">const</span> vector&lt;int&gt; &amp;shape,</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;      <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){}</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
+<div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">  499</a></span>&#160;  <span class="keyword">virtual</span> PartitionType <a class="code" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a> ()<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="keywordflow">return</span> kNone;</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;  }</div>
+<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">  502</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>* <a class="code" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a>(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* layer=<span class="keyword">nullptr</span>) {</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;  }</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;float&gt;</a>&amp; grad(<span class="keyword">const</span> <a class="code" href="classsinga_1_1Layer.html">Layer</a>* from=<span class="keyword">nullptr</span>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    CHECK(<span class="keyword">false</span>)&lt;&lt;<span class="stringliteral">&quot;Parser layer has not gradient blob&quot;</span>;</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    <span class="keywordflow">return</span> grad_;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;  }</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">  510</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a>(<span class="keywordtype">bool</span> training, <span class="keyword">const</span> vector&lt;SLayer&gt;&amp; srclayers){</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <span class="keywordflow">if</span>(!prefetch_){</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;      <a class="code" href="classsinga_1_1DataLayer.html">DataLayer</a>* datalayer=<span class="keyword">static_cast&lt;</span><a class="code" href="classsinga_1_1DataLayer.html">DataLayer</a>*<span class="keyword">&gt;</span>(srclayers[0].get());</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;      <a class="code" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">ParseRecords</a>(training, datalayer-&gt;records(), &amp;data_);</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    }<span class="keywordflow">else</span>{</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;      std::unique_lock&lt;std::mutex&gt; lck(mtx_);</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;      <span class="keywordflow">while</span>(!ready_) cv_.wait(lck);</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;      data_.<a class="code" href="classBlob.html#a283b080c7a275e679bb6d94c1a400591">CopyFrom</a>(prefetch_data_);</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;      ready_=<span class="keyword">false</span>;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;      cv_.notify_all();</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    }</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  }</div>
+<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">  529</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a>(<span class="keywordtype">bool</span> training){</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    std::unique_lock&lt;std::mutex&gt; lck(mtx_);</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <span class="keywordflow">while</span>(ready_) cv_.wait(lck);</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <span class="comment">//data_.Swap(prefetch_data_);</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <a class="code" href="classsinga_1_1DataLayer.html">DataLayer</a>* datalayer=<span class="keyword">static_cast&lt;</span><a class="code" href="classsinga_1_1DataLayer.html">DataLayer</a>*<span class="keyword">&gt;</span>(srclayers_[0].get());</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    <a class="code" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">ParseRecords</a>(training, datalayer-&gt;records(), &amp;prefetch_data_);</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    ready_=<span class="keyword">true</span>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    cv_.notify_all();</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;  }</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div>
+<div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">  543</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a>(<span class="keywordtype">bool</span> prefetch) {</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    <span class="keywordflow">if</span>(prefetch){</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;      <span class="keywordflow">if</span>(prefetch_data_.count()==0)</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        prefetch_data_.ReshapeLike(data_);</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;      ready_=<span class="keyword">false</span>;</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    }</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    prefetch_=prefetch;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  }</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;  std::mutex mtx_;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;  std::condition_variable cv_;</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;  <span class="keywordtype">bool</span> ready_;</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;  <span class="keywordtype">bool</span> has_set_;</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;  <span class="keywordtype">bool</span> prefetch_;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;  <a class="code" href="classBlob.html">Blob&lt;float&gt;</a> prefetch_data_;</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;};</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;} <span class="comment">// singa</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="preprocessor">#endif // INCLUDE_BASE_LAYER_H_</span></div>
+<div class="ttc" id="classsinga_1_1Layer_html_addab6c99866d34001471f86aede7f6e8"><div class="ttname"><a href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">singa::Layer::set_locationid</a></div><div class="ttdeci">virtual void set_locationid(int id)</div><div class="ttdoc">location id is the execution unit (i.e., thread from the working group) ID. </div><div class="ttdef"><b>Definition:</b> base_layer.h:151</div></div>
+<div class="ttc" id="classsinga_1_1DataLayer_html_a7e18bde747d349aff7ea7dc3a835c7fc"><div class="ttname"><a href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">singa::DataLayer::ComputeFeature</a></div><div class="ttdeci">virtual void ComputeFeature(bool training)</div><div class="ttdef"><b>Definition:</b> base_layer.h:380</div></div>
+<div class="ttc" id="classsinga_1_1ParserLayer_html"><div class="ttname"><a href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></div><div class="ttdoc">parse the input records into Blobs. </div><div class="ttdef"><b>Definition:</b> base_layer.h:469</div></div>
+<div class="ttc" id="classBlob_html"><div class="ttname"><a href="classBlob.html">Blob&lt; float &gt;</a></div></div>
+<div class="ttc" id="classsinga_1_1Layer_html_a50591a153fbfe349d8d307781d19ebb5"><div class="ttname"><a href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a></div><div class="ttdeci">virtual void ComputeGradient()</div><div class="ttdoc">Compute gradients for parameters and connecting layers. </div></div>
+<div class="ttc" id="classsinga_1_1Layer_html_af177cc1bdfc8d57b6992855bf437ef9a"><div class="ttname"><a href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">singa::Layer::set_partitionid</a></div><div class="ttdeci">virtual void set_partitionid(int id)</div><div class="ttdoc">partition id is the ID of the layer in the original layer. </div><div class="ttdef"><b>Definition:</b> base_layer.h:160</div></div>
+<div class="ttc" id="classsinga_1_1BridgeSrcLayer_html_a49c7a2a581b136cda67264633feedb29"><div class="ttname"><a href="classsinga_1_1BridgeSrcLayer.html#a49c7a2a581b136cda67264633feedb29">singa::BridgeSrcLayer::SetupAfterPartition</a></div><div class="ttdeci">virtual void SetupAfterPartition()</div><div class="ttdoc">Setup the layer properties except shape. </div></div>
+<div class="ttc" id="classsinga_1_1BridgeDstLayer_html_a16beb7c175217864bf2f75af016aa5ac"><div class="ttname"><a href="classsinga_1_1BridgeDstLayer.html#a16beb7c175217864bf2f75af016aa5ac">singa::BridgeDstLayer::ComputeFeature</a></div><div class="ttdeci">virtual void ComputeFeature(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</div><div class="ttdoc">Compute features of this layer based on connected layers. </div></div>
+<div class="ttc" id="classsinga_1_1BridgeSrcLayer_html_a6b6b652e2ae1b2c863b5143e07e9b6bf"><div class="ttname"><a href="classsinga_1_1BridgeSrcLayer.html#a6b6b652e2ae1b2c863b5143e07e9b6bf">singa::BridgeSrcLayer::ComputeFeature</a></div><div class="ttdeci">virtual void ComputeFeature(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</div><div class="ttdoc">Compute features of this layer based on connected layers. </div></div>
+<div class="ttc" id="classsinga_1_1ConcateLayer_html_a3781c4852c40650f6e20858929f60ffa"><div class="ttname"><a href="classsinga_1_1ConcateLayer.html#a3781c4852c40650f6e20858929f60ffa">singa::ConcateLayer::SetupAfterPartition</a></div><div class="ttdeci">virtual void SetupAfterPartition(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</div><div class="ttdoc">Setup the layer properties except shape. </div><div class="ttdef"><b>Definition:</b> base_layer.h:321</div></div>
+<div class="ttc" id="classsinga_1_1SplitLayer_html_a949028cd476e463b6893fb9ff6c7d664"><div class="ttname"><a href="classsinga_1_1SplitLayer.html#a949028cd476e463b6893fb9ff6c7d664">singa::SplitLayer::SetupAfterPartition</a></div><div class="ttdeci">virtual void SetupAfterPartition(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</div><div class="ttdoc">Setup the layer properties except shape. </div><div class="ttdef"><b>Definition:</b> base_layer.h:429</div></div>
+<div class="ttc" id="classsinga_1_1DataLayer_html_a5ffcae36ddcc4a445b9a91b083b29d2b"><div class="ttname"><a href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">singa::DataLayer::partition_type</a></div><div class="ttdeci">virtual PartitionType partition_type() const </div><div class="ttdoc">return partition type of this layer. </div><div class="ttdef"><b>Definition:</b> base_layer.h:359</div></div>
+<div class="ttc" id="classsinga_1_1ParserLayer_html_ade2d822132b5bd7eba1fcd2fa605ee5c"><div class="ttname"><a href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">singa::ParserLayer::set_prefetch</a></div><div class="ttdeci">void set_prefetch(bool prefetch)</div><div class="ttdoc">must be called before calling ComputeFeature(bool) if Prefetching runs in a separate thread ...</div><div class="ttdef"><b>Definition:</b> base_layer.h:543</div></div>
+<div class="ttc" id="classsinga_1_1Layer_html_aa029c17a260a114802c46d9faa347b7f"><div class="ttname"><a href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">singa::Layer::ToProto</a></div><div class="ttdeci">virtual void ToProto(LayerProto *layer_proto, bool copyData)</div><div class="ttdoc">Marshal layer properties and data into google protobuf object (i.e., snapshot). </div></div>
+<div class="ttc" id="classsinga_1_1ParserLayer_html_a9cca75c5b4b4b6aec618d694b008c02b"><div class="ttname"><a href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">singa::ParserLayer::ParseRecords</a></div><div class="ttdeci">virtual void ParseRecords(bool training, const vector&lt; Record &gt; &amp;records, Blob&lt; float &gt; *blob)=0</div><div class="ttdoc">Parse records from DataLayer into blob. </div></div>
+<div class="ttc" id="classsinga_1_1Layer_html_aeec3259af3b38227d4e3b3c5f5340573"><div class="ttname"><a href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">singa::Layer::Init</a></div><div class="ttdeci">virtual void Init(const LayerProto &amp;proto)</div><div class="ttdoc">simply save the proto configuation. </div></div>
+<div class="ttc" id="classsinga_1_1Layer_html_a836817f842419098c53fff371ae8fc80"><div class="ttname"><a href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">singa::Layer::srclayers</a></div><div class="ttdeci">virtual const vector&lt; SLayer &gt; srclayers() const </div><div class="ttdoc">return LayerS that connected to this layer </div><div class="ttdef"><b>

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/bc_s.png
----------------------------------------------------------------------
diff --git a/api/bc_s.png b/api/bc_s.png
new file mode 100644
index 0000000..224b29a
Binary files /dev/null and b/api/bc_s.png differ



[19/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Performance.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Performance.html b/api/classsinga_1_1Performance.html
new file mode 100644
index 0000000..07559d1
--- /dev/null
+++ b/api/classsinga_1_1Performance.html
@@ -0,0 +1,134 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Performance 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Performance.html">Performance</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_1Performance-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Performance Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Collecting metrics, like accuracy, loss, etc.  
+ <a href="classsinga_1_1Performance.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="worker_8h_source.html">worker.h</a>&gt;</code></p>
+<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:a80405a2aba8cb49749de9f0e9c94e025"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80405a2aba8cb49749de9f0e9c94e025"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Performance.html#a80405a2aba8cb49749de9f0e9c94e025">Performance</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net)</td></tr>
+<tr class="memdesc:a80405a2aba8cb49749de9f0e9c94e025"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect from <a class="el" href="classsinga_1_1LossLayer.html" title="Loss layer to calculate loss and other metrics, e.g., precison. ">LossLayer</a> of net. <br/></td></tr>
+<tr class="separator:a80405a2aba8cb49749de9f0e9c94e025"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0868f1798592a8d61c30cee94ce37e87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0868f1798592a8d61c30cee94ce37e87"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Performance.html#a0868f1798592a8d61c30cee94ce37e87">Update</a> ()</td></tr>
+<tr class="memdesc:a0868f1798592a8d61c30cee94ce37e87"><td class="mdescLeft">&#160;</td><td class="mdescRight">aggregate metrics from LossLayerS <br/></td></tr>
+<tr class="separator:a0868f1798592a8d61c30cee94ce37e87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d7dc4b512ab101235f78a790a2c3249"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d7dc4b512ab101235f78a790a2c3249"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Reset</b> ()</td></tr>
+<tr class="separator:a7d7dc4b512ab101235f78a790a2c3249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f4effefe05657495031b20b29645e92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f4effefe05657495031b20b29645e92"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>ToString</b> ()</td></tr>
+<tr class="separator:a2f4effefe05657495031b20b29645e92"><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>Collecting metrics, like accuracy, loss, etc. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="worker_8h_source.html">worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Poller-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Poller-members.html b/api/classsinga_1_1Poller-members.html
new file mode 100644
index 0000000..65db572
--- /dev/null
+++ b/api/classsinga_1_1Poller-members.html
@@ -0,0 +1,111 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Poller.html">Poller</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Poller Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Poller.html">singa::Poller</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Poller.html#a551da65ea27abcf56cb112c40bdf7f27">Add</a>(Socket *socket)</td><td class="entry"><a class="el" href="classsinga_1_1Poller.html">singa::Poller</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Poller</b>() (defined in <a class="el" href="classsinga_1_1Poller.html">singa::Poller</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Poller.html">singa::Poller</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>poller_</b> (defined in <a class="el" href="classsinga_1_1Poller.html">singa::Poller</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Poller.html">singa::Poller</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Poller.html#a124f54f657bb6479f0b6bc211c588415">Wait</a>(int duration)</td><td class="entry"><a class="el" href="classsinga_1_1Poller.html">singa::Poller</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>zsock2Socket_</b> (defined in <a class="el" href="classsinga_1_1Poller.html">singa::Poller</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Poller.html">singa::Poller</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Poller.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Poller.html b/api/classsinga_1_1Poller.html
new file mode 100644
index 0000000..5553708
--- /dev/null
+++ b/api/classsinga_1_1Poller.html
@@ -0,0 +1,175 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Poller 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Poller.html">Poller</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_1Poller-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Poller Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::Poller:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Poller.png" usemap="#singa::Poller_map" alt=""/>
+  <map id="singa::Poller_map" name="singa::Poller_map">
+<area href="classsinga_1_1BasePoller.html" alt="singa::BasePoller" shape="rect" coords="0,0,109,24"/>
+</map>
+ </div></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:a551da65ea27abcf56cb112c40bdf7f27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a551da65ea27abcf56cb112c40bdf7f27"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Poller.html#a551da65ea27abcf56cb112c40bdf7f27">Add</a> (<a class="el" href="classsinga_1_1Socket.html">Socket</a> *socket)</td></tr>
+<tr class="memdesc:a551da65ea27abcf56cb112c40bdf7f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a socket for polling; Multiple sockets can be polled together by adding them into the same poller. <br/></td></tr>
+<tr class="separator:a551da65ea27abcf56cb112c40bdf7f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a124f54f657bb6479f0b6bc211c588415"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Socket.html">Socket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Poller.html#a124f54f657bb6479f0b6bc211c588415">Wait</a> (int duration)</td></tr>
+<tr class="memdesc:a124f54f657bb6479f0b6bc211c588415"><td class="mdescLeft">&#160;</td><td class="mdescRight">Poll for all sockets added into this poller.  <a href="#a124f54f657bb6479f0b6bc211c588415">More...</a><br/></td></tr>
+<tr class="separator:a124f54f657bb6479f0b6bc211c588415"><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:ab4acc6e86ad166ce80f16a6ae3a811ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4acc6e86ad166ce80f16a6ae3a811ea"></a>
+zpoller_t *&#160;</td><td class="memItemRight" valign="bottom"><b>poller_</b></td></tr>
+<tr class="separator:ab4acc6e86ad166ce80f16a6ae3a811ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae445720223afe61d325828bdaba4faae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae445720223afe61d325828bdaba4faae"></a>
+std::map&lt; zsock_t *, <a class="el" href="classsinga_1_1Socket.html">Socket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>zsock2Socket_</b></td></tr>
+<tr class="separator:ae445720223afe61d325828bdaba4faae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a124f54f657bb6479f0b6bc211c588415"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Socket.html">Socket</a>* singa::Poller::Wait </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Poll for all sockets added into this poller. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">timeout</td><td>stop after this number of mseconds </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>pointer to the socket if it has one message in the receiving queue; nullptr if no message in any sockets, </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1BasePoller.html#a85777422b8d41fbc73829797f0332c5d">singa::BasePoller</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="socket_8h_source.html">socket.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Poller.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Poller.png b/api/classsinga_1_1Poller.png
new file mode 100644
index 0000000..44b432c
Binary files /dev/null and b/api/classsinga_1_1Poller.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PoolingLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PoolingLayer-members.html b/api/classsinga_1_1PoolingLayer-members.html
new file mode 100644
index 0000000..87faca2
--- /dev/null
+++ b/api/classsinga_1_1PoolingLayer-members.html
@@ -0,0 +1,166 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1PoolingLayer.html">PoolingLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::PoolingLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>batchsize_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>channels_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0"><td class="entry"><b>height_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kernel_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>pad_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 bgcolor="#f0f0f0"><td class="entry"><b>pool_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pooled_height_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pooled_width_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1PoolingLayer.html#a7d074abe2fb6fc0cf73e84eae80f269a">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html#aa106d86ff430bd174d07adafccb79b82">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>stride_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</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#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>width_</b> (defined in <a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PoolingLayer.html">singa::PoolingLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[42/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1TensorContainer.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1TensorContainer.html b/api/classmshadow_1_1TensorContainer.html
new file mode 100644
index 0000000..b7863f4
--- /dev/null
+++ b/api/classmshadow_1_1TensorContainer.html
@@ -0,0 +1,570 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::TensorContainer&lt; Device, dimension &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1TensorContainer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::TensorContainer&lt; Device, dimension &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>tensor container that does memory allocation and resize like STL, use it to save the lines of FreeSpace in class. Do not abuse it, efficiency can come from pre-allocation and no re-allocation  
+ <a href="classmshadow_1_1TensorContainer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__container_8h_source.html">tensor_container.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for mshadow::TensorContainer&lt; Device, dimension &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classmshadow_1_1TensorContainer.png" usemap="#mshadow::TensorContainer&lt; Device, dimension &gt;_map" alt=""/>
+  <map id="mshadow::TensorContainer&lt; Device, dimension &gt;_map" name="mshadow::TensorContainer&lt; Device, dimension &gt;_map">
+<area href="structmshadow_1_1Tensor.html" title="general tensor " alt="mshadow::Tensor&lt; Device, dimension &gt;" shape="rect" coords="0,112,414,136"/>
+<area href="classmshadow_1_1expr_1_1ContainerExp.html" alt="mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;" shape="rect" coords="0,56,414,80"/>
+<area href="structmshadow_1_1expr_1_1Exp.html" alt="mshadow::expr::Exp&lt; Tensor&lt; Device, dimension &gt;, type::kContainer &gt;" shape="rect" coords="0,0,414,24"/>
+</map>
+ </div></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:a4a7db08cd85aa4b66695f0fcda6204b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#a4a7db08cd85aa4b66695f0fcda6204b8">TensorContainer</a> (bool pad=<a class="el" href="tensor__base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a>)</td></tr>
+<tr class="memdesc:a4a7db08cd85aa4b66695f0fcda6204b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor  <a href="#a4a7db08cd85aa4b66695f0fcda6204b8">More...</a><br/></td></tr>
+<tr class="separator:a4a7db08cd85aa4b66695f0fcda6204b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeec4feeefba6821209cea5be1eeef72b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#aeec4feeefba6821209cea5be1eeef72b">TensorContainer</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;<a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a>)</td></tr>
+<tr class="memdesc:aeec4feeefba6821209cea5be1eeef72b"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor  <a href="#aeec4feeefba6821209cea5be1eeef72b">More...</a><br/></td></tr>
+<tr class="separator:aeec4feeefba6821209cea5be1eeef72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a374c03b1085998f41aecda021af43220"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#a374c03b1085998f41aecda021af43220">TensorContainer</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;<a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a>, <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> initv)</td></tr>
+<tr class="memdesc:a374c03b1085998f41aecda021af43220"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor  <a href="#a374c03b1085998f41aecda021af43220">More...</a><br/></td></tr>
+<tr class="separator:a374c03b1085998f41aecda021af43220"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3bfb6e4930738dcbe0613dc6946250f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#aa3bfb6e4930738dcbe0613dc6946250f">Resize</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;<a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a>)</td></tr>
+<tr class="memdesc:aa3bfb6e4930738dcbe0613dc6946250f"><td class="mdescLeft">&#160;</td><td class="mdescRight">resize the container to given shape, content is NOT preserved  <a href="#aa3bfb6e4930738dcbe0613dc6946250f">More...</a><br/></td></tr>
+<tr class="separator:aa3bfb6e4930738dcbe0613dc6946250f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d25a8ba514bbad3ec9f5752689019ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#a2d25a8ba514bbad3ec9f5752689019ed">Resize</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;<a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a>, <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> initv)</td></tr>
+<tr class="memdesc:a2d25a8ba514bbad3ec9f5752689019ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">resize the container to given shape, and initialize, content is NOT preserved  <a href="#a2d25a8ba514bbad3ec9f5752689019ed">More...</a><br/></td></tr>
+<tr class="separator:a2d25a8ba514bbad3ec9f5752689019ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ee87817af96fcf5ab2be9641b9e27d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ee87817af96fcf5ab2be9641b9e27d4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#a1ee87817af96fcf5ab2be9641b9e27d4">set_pad</a> (bool pad)</td></tr>
+<tr class="memdesc:a1ee87817af96fcf5ab2be9641b9e27d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">set whether padding is allowed in tensor <br/></td></tr>
+<tr class="separator:a1ee87817af96fcf5ab2be9641b9e27d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c05e3aa4c2f1a91e11edb445b7e735c"><td class="memTemplParams" colspan="2">template&lt;typename TStream &gt; </td></tr>
+<tr class="memitem:a8c05e3aa4c2f1a91e11edb445b7e735c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#a8c05e3aa4c2f1a91e11edb445b7e735c">SaveBinary</a> (TStream &amp;fo) const </td></tr>
+<tr class="memdesc:a8c05e3aa4c2f1a91e11edb445b7e735c"><td class="mdescLeft">&#160;</td><td class="mdescRight">save by binary format  <a href="#a8c05e3aa4c2f1a91e11edb445b7e735c">More...</a><br/></td></tr>
+<tr class="separator:a8c05e3aa4c2f1a91e11edb445b7e735c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae25ffd09c48839fc8ee4e543e6bdb7c9"><td class="memTemplParams" colspan="2">template&lt;typename TStream &gt; </td></tr>
+<tr class="memitem:ae25ffd09c48839fc8ee4e543e6bdb7c9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html#ae25ffd09c48839fc8ee4e543e6bdb7c9">LoadBinary</a> (TStream &amp;fi)</td></tr>
+<tr class="memdesc:ae25ffd09c48839fc8ee4e543e6bdb7c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">load by binary format, a temp Tensor&lt;cpu,dim&gt; storage will be allocated  <a href="#ae25ffd09c48839fc8ee4e543e6bdb7c9">More...</a><br/></td></tr>
+<tr class="separator:ae25ffd09c48839fc8ee4e543e6bdb7c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9caeae09b59021f2b96bba065e969ca4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9caeae09b59021f2b96bba065e969ca4"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="separator:a9caeae09b59021f2b96bba065e969ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a266d912c03744d6a51e513cc181e8441"><td class="memTemplParams" colspan="2"><a class="anchor" id="a266d912c03744d6a51e513cc181e8441"></a>
+template&lt;typename E &gt; </td></tr>
+<tr class="memitem:a266d912c03744d6a51e513cc181e8441"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, <a class="el" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">expr::type::kMapper</a> &gt; &amp;exp)</td></tr>
+<tr class="separator:a266d912c03744d6a51e513cc181e8441"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37dba9ef3b362e756e97dd3f8a78d5b0"><td class="memTemplParams" colspan="2"><a class="anchor" id="a37dba9ef3b362e756e97dd3f8a78d5b0"></a>
+template&lt;typename E &gt; </td></tr>
+<tr class="memitem:a37dba9ef3b362e756e97dd3f8a78d5b0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, <a class="el" href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">expr::type::kComplex</a> &gt; &amp;exp)</td></tr>
+<tr class="separator:a37dba9ef3b362e756e97dd3f8a78d5b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_structmshadow_1_1Tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structmshadow_1_1Tensor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td></tr>
+<tr class="memitem:a844ed0041a63ccf071966a0821db0d70 inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a844ed0041a63ccf071966a0821db0d70"></a>
+MSHADOW_XINLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a844ed0041a63ccf071966a0821db0d70">Tensor</a> (void)</td></tr>
+<tr class="memdesc:a844ed0041a63ccf071966a0821db0d70 inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <br/></td></tr>
+<tr class="separator:a844ed0041a63ccf071966a0821db0d70 inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3043be4b978df444929fd37820b7b25 inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3043be4b978df444929fd37820b7b25"></a>
+MSHADOW_XINLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#aa3043be4b978df444929fd37820b7b25">Tensor</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;<a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a>)</td></tr>
+<tr class="memdesc:aa3043be4b978df444929fd37820b7b25 inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from shape <br/></td></tr>
+<tr class="separator:aa3043be4b978df444929fd37820b7b25 inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ac79280829ec3a6f1aad4fd6044fe82 inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ac79280829ec3a6f1aad4fd6044fe82"></a>
+MSHADOW_XINLINE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a7ac79280829ec3a6f1aad4fd6044fe82">Tensor</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> *<a class="el" href="structmshadow_1_1Tensor.html#a840ba21e8bf241129131bb5c0485af3a">dptr</a>, const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;<a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a>)</td></tr>
+<tr class="memdesc:a7ac79280829ec3a6f1aad4fd6044fe82 inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from data pointer and shape <br/></td></tr>
+<tr class="separator:a7ac79280829ec3a6f1aad4fd6044fe82 inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a870d85c5e46c364947355e9d292445c6 inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top">MSHADOW_XINLINE <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a870d85c5e46c364947355e9d292445c6">FlatTo2D</a> (void) const </td></tr>
+<tr class="memdesc:a870d85c5e46c364947355e9d292445c6 inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">flatten the tensor to 2 dimension, collapse the higher dimensions together  <a href="#a870d85c5e46c364947355e9d292445c6">More...</a><br/></td></tr>
+<tr class="separator:a870d85c5e46c364947355e9d292445c6 inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47376c7fe0a51811c283391fcc6da01a inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top">MSHADOW_XINLINE <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, <br class="typebreak"/>
+<a class="el" href="structmshadow_1_1Tensor.html#a107c989c23feed70dbc8bad458afb997">kSubdim</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a47376c7fe0a51811c283391fcc6da01a">operator[]</a> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> idx) const </td></tr>
+<tr class="memdesc:a47376c7fe0a51811c283391fcc6da01a inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a element of dimension - 1  <a href="#a47376c7fe0a51811c283391fcc6da01a">More...</a><br/></td></tr>
+<tr class="separator:a47376c7fe0a51811c283391fcc6da01a inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a214801ac6228af5cedaad3fc5aedce inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top">MSHADOW_XINLINE <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, <br class="typebreak"/>
+dimension &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a1a214801ac6228af5cedaad3fc5aedce">Slice</a> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> begin, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> end) const </td></tr>
+<tr class="memdesc:a1a214801ac6228af5cedaad3fc5aedce inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">slice the tensor in highest dimension [begin,end)  <a href="#a1a214801ac6228af5cedaad3fc5aedce">More...</a><br/></td></tr>
+<tr class="separator:a1a214801ac6228af5cedaad3fc5aedce inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a683af20c4ba89d0fcc8c723da48b29aa inherit pub_methods_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a683af20c4ba89d0fcc8c723da48b29aa"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a683af20c4ba89d0fcc8c723da48b29aa">operator=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a683af20c4ba89d0fcc8c723da48b29aa inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">functions to fit expression template <br/></td></tr>
+<tr class="separator:a683af20c4ba89d0fcc8c723da48b29aa inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8f9f9e117759c8b25fbbeff92af8ca2 inherit pub_methods_structmshadow_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa8f9f9e117759c8b25fbbeff92af8ca2"></a>
+template&lt;typename E &gt; </td></tr>
+<tr class="memitem:aa8f9f9e117759c8b25fbbeff92af8ca2 inherit pub_methods_structmshadow_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#aa8f9f9e117759c8b25fbbeff92af8ca2">operator=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, <a class="el" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">expr::type::kMapper</a> &gt; &amp;exp)</td></tr>
+<tr class="memdesc:aa8f9f9e117759c8b25fbbeff92af8ca2 inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">functions to fit expression template <br/></td></tr>
+<tr class="separator:aa8f9f9e117759c8b25fbbeff92af8ca2 inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29e0dbea0aef5188220f3243b706d29d inherit pub_methods_structmshadow_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="a29e0dbea0aef5188220f3243b706d29d"></a>
+template&lt;typename E &gt; </td></tr>
+<tr class="memitem:a29e0dbea0aef5188220f3243b706d29d inherit pub_methods_structmshadow_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a29e0dbea0aef5188220f3243b706d29d">operator=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, <a class="el" href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">expr::type::kComplex</a> &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a29e0dbea0aef5188220f3243b706d29d inherit pub_methods_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">functions to fit expression template <br/></td></tr>
+<tr class="separator:a29e0dbea0aef5188220f3243b706d29d inherit pub_methods_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmshadow_1_1expr_1_1ContainerExp')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td></tr>
+<tr class="memitem:ac2d93b25bdef03c232b2fb9556fecd25 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp</a>&lt; <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a><br class="typebreak"/>
+&lt; Device, dimension &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ac2d93b25bdef03c232b2fb9556fecd25">T</a> (void) const</td></tr>
+<tr class="memdesc:ac2d93b25bdef03c232b2fb9556fecd25 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">transpose of a matrix  <a href="#ac2d93b25bdef03c232b2fb9556fecd25">More...</a><br/></td></tr>
+<tr class="separator:ac2d93b25bdef03c232b2fb9556fecd25 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7d2c08f20025070f26be3bed805c663 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7d2c08f20025070f26be3bed805c663"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad7d2c08f20025070f26be3bed805c663">operator+=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:ad7d2c08f20025070f26be3bed805c663 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:ad7d2c08f20025070f26be3bed805c663 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a040bcc96db9b3be9e105d885ba953d29 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a040bcc96db9b3be9e105d885ba953d29"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a040bcc96db9b3be9e105d885ba953d29">operator+=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a040bcc96db9b3be9e105d885ba953d29 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator+= <br/></td></tr>
+<tr class="separator:a040bcc96db9b3be9e105d885ba953d29 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14bc7b305bf599ffaf026bbd9cb801fa inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14bc7b305bf599ffaf026bbd9cb801fa"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a14bc7b305bf599ffaf026bbd9cb801fa">operator-=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a14bc7b305bf599ffaf026bbd9cb801fa inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a14bc7b305bf599ffaf026bbd9cb801fa inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad473a71ec6e568841238c2c425db8dee inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad473a71ec6e568841238c2c425db8dee"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad473a71ec6e568841238c2c425db8dee">operator-=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:ad473a71ec6e568841238c2c425db8dee inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator-= <br/></td></tr>
+<tr class="separator:ad473a71ec6e568841238c2c425db8dee inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ec36f15d3b4edc378e0a844279d655e inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ec36f15d3b4edc378e0a844279d655e"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a4ec36f15d3b4edc378e0a844279d655e">operator*=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a4ec36f15d3b4edc378e0a844279d655e inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a4ec36f15d3b4edc378e0a844279d655e inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8343d4e5a52b14087d21189c8ba35a24 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8343d4e5a52b14087d21189c8ba35a24"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a8343d4e5a52b14087d21189c8ba35a24">operator*=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a8343d4e5a52b14087d21189c8ba35a24 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator*= <br/></td></tr>
+<tr class="separator:a8343d4e5a52b14087d21189c8ba35a24 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86b9bc074af6129dff6cb16ae0d9d592 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86b9bc074af6129dff6cb16ae0d9d592"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a86b9bc074af6129dff6cb16ae0d9d592">operator/=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a86b9bc074af6129dff6cb16ae0d9d592 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a86b9bc074af6129dff6cb16ae0d9d592 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a025569b463343ed328506bd810ab0d1c inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a025569b463343ed328506bd810ab0d1c"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a025569b463343ed328506bd810ab0d1c">operator/=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a025569b463343ed328506bd810ab0d1c inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator/= <br/></td></tr>
+<tr class="separator:a025569b463343ed328506bd810ab0d1c inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53d478283da3417948e746accf1d8555 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53d478283da3417948e746accf1d8555"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a53d478283da3417948e746accf1d8555">__assign</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a53d478283da3417948e746accf1d8555 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a53d478283da3417948e746accf1d8555 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eec40f8e9b738edd1a0e0cbf9e014f6 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7eec40f8e9b738edd1a0e0cbf9e014f6"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a7eec40f8e9b738edd1a0e0cbf9e014f6">__assign</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, type::kMapper &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a7eec40f8e9b738edd1a0e0cbf9e014f6 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator=, note that we can not define container = container <br/></td></tr>
+<tr class="separator:a7eec40f8e9b738edd1a0e0cbf9e014f6 inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdc7321b785a3e6de4194b01aa9c5cea inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdc7321b785a3e6de4194b01aa9c5cea"></a>
+<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#afdc7321b785a3e6de4194b01aa9c5cea">__assign</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, type::kComplex &gt; &amp;exp)</td></tr>
+<tr class="memdesc:afdc7321b785a3e6de4194b01aa9c5cea inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator=, note that we can not define container = container <br/></td></tr>
+<tr class="separator:afdc7321b785a3e6de4194b01aa9c5cea inherit pub_methods_classmshadow_1_1expr_1_1ContainerExp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_structmshadow_1_1expr_1_1Exp"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structmshadow_1_1expr_1_1Exp')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; Tensor&lt; Device, dimension &gt;, type::kContainer &gt;</a></td></tr>
+<tr class="memitem:ae27ea4b1b18941a009902765c281addb inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#ae27ea4b1b18941a009902765c281addb">self</a> (void) const</td></tr>
+<tr class="separator:ae27ea4b1b18941a009902765c281addb inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d71c1687e44ddc89b7f20f7de6a1ed0 inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dimension &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#a0d71c1687e44ddc89b7f20f7de6a1ed0">refself</a> (void)</td></tr>
+<tr class="separator:a0d71c1687e44ddc89b7f20f7de6a1ed0 inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_attribs_structmshadow_1_1Tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structmshadow_1_1Tensor')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td></tr>
+<tr class="memitem:a840ba21e8bf241129131bb5c0485af3a inherit pub_attribs_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a840ba21e8bf241129131bb5c0485af3a"></a>
+<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a840ba21e8bf241129131bb5c0485af3a">dptr</a></td></tr>
+<tr class="memdesc:a840ba21e8bf241129131bb5c0485af3a inherit pub_attribs_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to the data <br/></td></tr>
+<tr class="separator:a840ba21e8bf241129131bb5c0485af3a inherit pub_attribs_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab59c7017903020550cd78432b9b2b958 inherit pub_attribs_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab59c7017903020550cd78432b9b2b958"></a>
+<a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a></td></tr>
+<tr class="memdesc:ab59c7017903020550cd78432b9b2b958 inherit pub_attribs_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">shape of the tensor <br/></td></tr>
+<tr class="separator:ab59c7017903020550cd78432b9b2b958 inherit pub_attribs_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_attribs_structmshadow_1_1Tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_structmshadow_1_1Tensor')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td></tr>
+<tr class="memitem:a459cc12b940e03a8a69de4d50aa50000 inherit pub_static_attribs_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a459cc12b940e03a8a69de4d50aa50000"></a>
+static const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a459cc12b940e03a8a69de4d50aa50000">kDevCPU</a> = Device::kDevCPU</td></tr>
+<tr class="memdesc:a459cc12b940e03a8a69de4d50aa50000 inherit pub_static_attribs_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether current type lies in cpu <br/></td></tr>
+<tr class="separator:a459cc12b940e03a8a69de4d50aa50000 inherit pub_static_attribs_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a107c989c23feed70dbc8bad458afb997 inherit pub_static_attribs_structmshadow_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a107c989c23feed70dbc8bad458afb997"></a>
+static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html#a107c989c23feed70dbc8bad458afb997">kSubdim</a> = dimension - 1</td></tr>
+<tr class="memdesc:a107c989c23feed70dbc8bad458afb997 inherit pub_static_attribs_structmshadow_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">dimension of subtype <br/></td></tr>
+<tr class="separator:a107c989c23feed70dbc8bad458afb997 inherit pub_static_attribs_structmshadow_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename Device, int dimension&gt;<br/>
+class mshadow::TensorContainer&lt; Device, dimension &gt;</h3>
+
+<p>tensor container that does memory allocation and resize like STL, use it to save the lines of FreeSpace in class. Do not abuse it, efficiency can come from pre-allocation and no re-allocation </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">Device</td><td>which device the tensor is on </td></tr>
+    <tr><td class="paramname">dimension</td><td>dimension of the tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4a7db08cd85aa4b66695f0fcda6204b8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::<a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a> </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>pad</em> = <code><a class="el" href="tensor__base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a></code></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>constructor </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pad</td><td>whether use padding alignment in space allocation </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aeec4feeefba6821209cea5be1eeef72b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::<a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>constructor </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">shape</td><td>intial shape </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a374c03b1085998f41aecda021af43220"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::<a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td>
+          <td class="paramname"><em>initv</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>constructor </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">shape</td><td>intial shape </td></tr>
+    <tr><td class="paramname">initv</td><td>intial value </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae25ffd09c48839fc8ee4e543e6bdb7c9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<div class="memtemplate">
+template&lt;typename TStream &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::LoadBinary </td>
+          <td>(</td>
+          <td class="paramtype">TStream &amp;&#160;</td>
+          <td class="paramname"><em>fi</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>load by binary format, a temp Tensor&lt;cpu,dim&gt; storage will be allocated </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>input binary stream </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">TStream</td><td>type of stream, need to support Read, Write, one example is <a class="el" href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, it is not restricted to only this interface in SaveB...">utils::IStream</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aa3bfb6e4930738dcbe0613dc6946250f"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::Resize </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>resize the container to given shape, content is NOT preserved </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">shape</td><td>target shape </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a2d25a8ba514bbad3ec9f5752689019ed"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::Resize </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dimension &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td>
+          <td class="paramname"><em>initv</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>resize the container to given shape, and initialize, content is NOT preserved </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">shape</td><td>target shape </td></tr>
+    <tr><td class="paramname">initv</td><td>initialization value </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8c05e3aa4c2f1a91e11edb445b7e735c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Device, int dimension&gt; </div>
+<div class="memtemplate">
+template&lt;typename TStream &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer</a>&lt; Device, dimension &gt;::SaveBinary </td>
+          <td>(</td>
+          <td class="paramtype">TStream &amp;&#160;</td>
+          <td class="paramname"><em>fo</em></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>save by binary format </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fo</td><td>output binary stream </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">TStream</td><td>type of stream, need to support Read, Write, one example is <a class="el" href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, it is not restricted to only this interface in SaveB...">utils::IStream</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__container_8h_source.html">tensor_container.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1TensorContainer.png
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1TensorContainer.png b/api/classmshadow_1_1TensorContainer.png
new file mode 100644
index 0000000..fb3e63a
Binary files /dev/null and b/api/classmshadow_1_1TensorContainer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1ContainerExp-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1ContainerExp-members.html b/api/classmshadow_1_1expr_1_1ContainerExp-members.html
new file mode 100644
index 0000000..d270329
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1ContainerExp-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">ContainerExp</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::ContainerExp&lt; Container &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a53d478283da3417948e746accf1d8555">__assign</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a7eec40f8e9b738edd1a0e0cbf9e014f6">__assign</a>(const Exp&lt; E, type::kMapper &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#afdc7321b785a3e6de4194b01aa9c5cea">__assign</a>(const Exp&lt; E, type::kComplex &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a4ec36f15d3b4edc378e0a844279d655e">operator*=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a8343d4e5a52b14087d21189c8ba35a24">operator*=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad7d2c08f20025070f26be3bed805c663">operator+=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a040bcc96db9b3be9e105d885ba953d29">operator+=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a14bc7b305bf599ffaf026bbd9cb801fa">operator-=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad473a71ec6e568841238c2c425db8dee">operator-=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a86b9bc074af6129dff6cb16ae0d9d592">operator/=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a025569b463343ed328506bd810ab0d1c">operator/=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#a0d71c1687e44ddc89b7f20f7de6a1ed0">refself</a>(void)</td><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; Container, type::kContainer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#ae27ea4b1b18941a009902765c281addb">self</a>(void) const</td><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; Container, type::kContainer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ac2d93b25bdef03c232b2fb9556fecd25">T</a>(void) const </td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Container &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1ContainerExp.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1ContainerExp.html b/api/classmshadow_1_1expr_1_1ContainerExp.html
new file mode 100644
index 0000000..1e1aaab
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1ContainerExp.html
@@ -0,0 +1,226 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::ContainerExp&lt; Container &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">ContainerExp</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1ContainerExp-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::ContainerExp&lt; Container &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>base class of all variables, that can be assigned to values  
+ <a href="classmshadow_1_1expr_1_1ContainerExp.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__expr_8h_source.html">tensor_expr.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for mshadow::expr::ContainerExp&lt; Container &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classmshadow_1_1expr_1_1ContainerExp.png" usemap="#mshadow::expr::ContainerExp&lt; Container &gt;_map" alt=""/>
+  <map id="mshadow::expr::ContainerExp&lt; Container &gt;_map" name="mshadow::expr::ContainerExp&lt; Container &gt;_map">
+<area href="structmshadow_1_1expr_1_1Exp.html" alt="mshadow::expr::Exp&lt; Container, type::kContainer &gt;" shape="rect" coords="0,0,301,24"/>
+</map>
+ </div></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:ac2d93b25bdef03c232b2fb9556fecd25"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp</a>&lt; Container &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ac2d93b25bdef03c232b2fb9556fecd25">T</a> (void) const </td></tr>
+<tr class="memdesc:ac2d93b25bdef03c232b2fb9556fecd25"><td class="mdescLeft">&#160;</td><td class="mdescRight">transpose of a matrix  <a href="#ac2d93b25bdef03c232b2fb9556fecd25">More...</a><br/></td></tr>
+<tr class="separator:ac2d93b25bdef03c232b2fb9556fecd25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7d2c08f20025070f26be3bed805c663"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7d2c08f20025070f26be3bed805c663"></a>
+Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad7d2c08f20025070f26be3bed805c663">operator+=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:ad7d2c08f20025070f26be3bed805c663"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:ad7d2c08f20025070f26be3bed805c663"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14bc7b305bf599ffaf026bbd9cb801fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14bc7b305bf599ffaf026bbd9cb801fa"></a>
+Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a14bc7b305bf599ffaf026bbd9cb801fa">operator-=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a14bc7b305bf599ffaf026bbd9cb801fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a14bc7b305bf599ffaf026bbd9cb801fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ec36f15d3b4edc378e0a844279d655e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ec36f15d3b4edc378e0a844279d655e"></a>
+Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a4ec36f15d3b4edc378e0a844279d655e">operator*=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a4ec36f15d3b4edc378e0a844279d655e"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a4ec36f15d3b4edc378e0a844279d655e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86b9bc074af6129dff6cb16ae0d9d592"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86b9bc074af6129dff6cb16ae0d9d592"></a>
+Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a86b9bc074af6129dff6cb16ae0d9d592">operator/=</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a86b9bc074af6129dff6cb16ae0d9d592"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a86b9bc074af6129dff6cb16ae0d9d592"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53d478283da3417948e746accf1d8555"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53d478283da3417948e746accf1d8555"></a>
+Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a53d478283da3417948e746accf1d8555">__assign</a> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> s)</td></tr>
+<tr class="memdesc:a53d478283da3417948e746accf1d8555"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <br/></td></tr>
+<tr class="separator:a53d478283da3417948e746accf1d8555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eec40f8e9b738edd1a0e0cbf9e014f6"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7eec40f8e9b738edd1a0e0cbf9e014f6"></a>
+template&lt;typename E &gt; </td></tr>
+<tr class="memitem:a7eec40f8e9b738edd1a0e0cbf9e014f6"><td class="memTemplItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a7eec40f8e9b738edd1a0e0cbf9e014f6">__assign</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, <a class="el" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a> &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a7eec40f8e9b738edd1a0e0cbf9e014f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator=, note that we can not define container = container <br/></td></tr>
+<tr class="separator:a7eec40f8e9b738edd1a0e0cbf9e014f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdc7321b785a3e6de4194b01aa9c5cea"><td class="memTemplParams" colspan="2"><a class="anchor" id="afdc7321b785a3e6de4194b01aa9c5cea"></a>
+template&lt;typename E &gt; </td></tr>
+<tr class="memitem:afdc7321b785a3e6de4194b01aa9c5cea"><td class="memTemplItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#afdc7321b785a3e6de4194b01aa9c5cea">__assign</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, <a class="el" href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">type::kComplex</a> &gt; &amp;exp)</td></tr>
+<tr class="memdesc:afdc7321b785a3e6de4194b01aa9c5cea"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator=, note that we can not define container = container <br/></td></tr>
+<tr class="separator:afdc7321b785a3e6de4194b01aa9c5cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a040bcc96db9b3be9e105d885ba953d29"><td class="memTemplParams" colspan="2"><a class="anchor" id="a040bcc96db9b3be9e105d885ba953d29"></a>
+template&lt;typename E , int etype&gt; </td></tr>
+<tr class="memitem:a040bcc96db9b3be9e105d885ba953d29"><td class="memTemplItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a040bcc96db9b3be9e105d885ba953d29">operator+=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a040bcc96db9b3be9e105d885ba953d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator+= <br/></td></tr>
+<tr class="separator:a040bcc96db9b3be9e105d885ba953d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad473a71ec6e568841238c2c425db8dee"><td class="memTemplParams" colspan="2"><a class="anchor" id="ad473a71ec6e568841238c2c425db8dee"></a>
+template&lt;typename E , int etype&gt; </td></tr>
+<tr class="memitem:ad473a71ec6e568841238c2c425db8dee"><td class="memTemplItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad473a71ec6e568841238c2c425db8dee">operator-=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:ad473a71ec6e568841238c2c425db8dee"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator-= <br/></td></tr>
+<tr class="separator:ad473a71ec6e568841238c2c425db8dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8343d4e5a52b14087d21189c8ba35a24"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8343d4e5a52b14087d21189c8ba35a24"></a>
+template&lt;typename E , int etype&gt; </td></tr>
+<tr class="memitem:a8343d4e5a52b14087d21189c8ba35a24"><td class="memTemplItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a8343d4e5a52b14087d21189c8ba35a24">operator*=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a8343d4e5a52b14087d21189c8ba35a24"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator*= <br/></td></tr>
+<tr class="separator:a8343d4e5a52b14087d21189c8ba35a24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a025569b463343ed328506bd810ab0d1c"><td class="memTemplParams" colspan="2"><a class="anchor" id="a025569b463343ed328506bd810ab0d1c"></a>
+template&lt;typename E , int etype&gt; </td></tr>
+<tr class="memitem:a025569b463343ed328506bd810ab0d1c"><td class="memTemplItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a025569b463343ed328506bd810ab0d1c">operator/=</a> (const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a>&lt; E, etype &gt; &amp;exp)</td></tr>
+<tr class="memdesc:a025569b463343ed328506bd810ab0d1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of operator/= <br/></td></tr>
+<tr class="separator:a025569b463343ed328506bd810ab0d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_structmshadow_1_1expr_1_1Exp"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structmshadow_1_1expr_1_1Exp')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; Container, type::kContainer &gt;</a></td></tr>
+<tr class="memitem:ae27ea4b1b18941a009902765c281addb inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memItemLeft" align="right" valign="top">const Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#ae27ea4b1b18941a009902765c281addb">self</a> (void) const</td></tr>
+<tr class="separator:ae27ea4b1b18941a009902765c281addb inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d71c1687e44ddc89b7f20f7de6a1ed0 inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memItemLeft" align="right" valign="top">Container &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#a0d71c1687e44ddc89b7f20f7de6a1ed0">refself</a> (void)</td></tr>
+<tr class="separator:a0d71c1687e44ddc89b7f20f7de6a1ed0 inherit pub_methods_structmshadow_1_1expr_1_1Exp"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename Container&gt;<br/>
+class mshadow::expr::ContainerExp&lt; Container &gt;</h3>
+
+<p>base class of all variables, that can be assigned to values </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">Container</td><td>the actually class of data container, e.g. CTensor1D </td></tr>
+  </table>
+  </dd>
+</dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac2d93b25bdef03c232b2fb9556fecd25"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Container&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp</a>&lt;Container&gt; <a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp</a>&lt; Container &gt;::T </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</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>transpose of a matrix </p>
+<dl class="section return"><dt>Returns</dt><dd>transpose of current expression </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr_8h_source.html">tensor_expr.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1ContainerExp.png
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1ContainerExp.png b/api/classmshadow_1_1expr_1_1ContainerExp.png
new file mode 100644
index 0000000..f8e6971
Binary files /dev/null and b/api/classmshadow_1_1expr_1_1ContainerExp.png differ


[24/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1MnistImageLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1MnistImageLayer.html b/api/classsinga_1_1MnistImageLayer.html
new file mode 100644
index 0000000..06a536d
--- /dev/null
+++ b/api/classsinga_1_1MnistImageLayer.html
@@ -0,0 +1,403 @@
+<!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.6"/>
+<title>Apache SINGA: singa::MnistImageLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1MnistImageLayer.html">MnistImageLayer</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_1MnistImageLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::MnistImageLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::MnistImageLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1MnistImageLayer.png" usemap="#singa::MnistImageLayer_map" alt=""/>
+  <map id="singa::MnistImageLayer_map" name="singa::MnistImageLayer_map">
+<area href="classsinga_1_1ParserLayer.html" title="parse the input records into Blobs. " alt="singa::ParserLayer" shape="rect" coords="0,56,144,80"/>
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,144,24"/>
+</map>
+ </div></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:a1dba251022584d60d12092481d162d04"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1MnistImageLayer.html#a1dba251022584d60d12092481d162d04">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a1dba251022584d60d12092481d162d04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a1dba251022584d60d12092481d162d04">More...</a><br/></td></tr>
+<tr class="separator:a1dba251022584d60d12092481d162d04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f1cde0c276fdfc6260ea96edd7ff430"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1MnistImageLayer.html#a8f1cde0c276fdfc6260ea96edd7ff430">ParseRecords</a> (bool training, const vector&lt; Record &gt; &amp;records, <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *blob)</td></tr>
+<tr class="memdesc:a8f1cde0c276fdfc6260ea96edd7ff430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob.  <a href="#a8f1cde0c276fdfc6260ea96edd7ff430">More...</a><br/></td></tr>
+<tr class="separator:a8f1cde0c276fdfc6260ea96edd7ff430"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1ParserLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1ParserLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td></tr>
+<tr class="memitem:ad87377303fd7e97ed5b2dbac20b2843a inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad87377303fd7e97ed5b2dbac20b2843a"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:ad87377303fd7e97ed5b2dbac20b2843a inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy function.  <a href="#afe2b6dd37ea96e7039ed24e93b28899b">More...</a><br/></td></tr>
+<tr class="separator:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a> ()</td></tr>
+<tr class="memdesc:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ad01d938a87aba0c7a6f8ccf0139bde4c">More...</a><br/></td></tr>
+<tr class="separator:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1e22e31cb2cd0f09c40227ec7fd8c3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a1340b2cf693aa48d823d12228900556b">More...</a><br/></td></tr>
+<tr class="separator:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a> () const </td></tr>
+<tr class="memdesc:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a67d78cafced1950980b54b0b6e302e87">More...</a><br/></td></tr>
+<tr class="separator:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ee00445771065cc4bf569003a33e796 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a4ee00445771065cc4bf569003a33e796 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabeab9a2b4dd113a7271cfba39d83d82 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabeab9a2b4dd113a7271cfba39d83d82"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:aabeab9a2b4dd113a7271cfba39d83d82 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a346797e377211251ae5c268fca093c50">More...</a><br/></td></tr>
+<tr class="separator:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a> (bool training)</td></tr>
+<tr class="memdesc:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">prefetching is transparent to parsing logics.  <a href="#a617f1a2b0e7adfc0266e6fb3c0b1259b">More...</a><br/></td></tr>
+<tr class="separator:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2d822132b5bd7eba1fcd2fa605ee5c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a> (bool prefetch)</td></tr>
+<tr class="memdesc:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">must be called before calling <a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature(bool)</a> if Prefetching runs in a separate thread <br/></td></tr>
+<tr class="separator:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:a4495428ab5743d2aef525790b4b0add8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4495428ab5743d2aef525790b4b0add8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>gamma_</b></td></tr>
+<tr class="separator:a4495428ab5743d2aef525790b4b0add8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe847c811cc957a1abaed8d1e1c8241e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe847c811cc957a1abaed8d1e1c8241e"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>beta_</b></td></tr>
+<tr class="separator:abe847c811cc957a1abaed8d1e1c8241e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1239df0fcb3e775a3d01cac2ea88ab2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1239df0fcb3e775a3d01cac2ea88ab2"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>sigma_</b></td></tr>
+<tr class="separator:ab1239df0fcb3e775a3d01cac2ea88ab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2df333a6585468c308a55446e120ee84"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2df333a6585468c308a55446e120ee84"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>kernel_</b></td></tr>
+<tr class="separator:a2df333a6585468c308a55446e120ee84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fc3373f0507850d3aaa7693e0d37278"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fc3373f0507850d3aaa7693e0d37278"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>alpha_</b></td></tr>
+<tr class="separator:a3fc3373f0507850d3aaa7693e0d37278"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ed8c99b2e90899978fc7f5a43d1d2f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ed8c99b2e90899978fc7f5a43d1d2f8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>norm_a_</b></td></tr>
+<tr class="separator:a7ed8c99b2e90899978fc7f5a43d1d2f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7796a15b0c44ca68c079dc668feb7a60"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7796a15b0c44ca68c079dc668feb7a60"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>norm_b_</b></td></tr>
+<tr class="separator:a7796a15b0c44ca68c079dc668feb7a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98ff5cb30f53fddf3211581e82936035"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98ff5cb30f53fddf3211581e82936035"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>resize_</b></td></tr>
+<tr class="separator:a98ff5cb30f53fddf3211581e82936035"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae91f2126cf1778264a89d42a91f61e3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91f2126cf1778264a89d42a91f61e3a"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>elastic_freq_</b></td></tr>
+<tr class="separator:ae91f2126cf1778264a89d42a91f61e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a8f1cde0c276fdfc6260ea96edd7ff430"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::MnistImageLayer::ParseRecords </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; Record &gt; &amp;&#160;</td>
+          <td class="paramname"><em>records</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td>
+          <td class="paramname"><em>blob</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob. </p>
+<p>This function is called by <a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50" title="Compute features of this layer based on connected layers. ">ComputeFeature(bool, const vector&lt;SLayer&gt;&amp; srclayers)</a> or Prefetch(bool). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">singa::ParserLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1dba251022584d60d12092481d162d04"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::MnistImageLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1ParserLayer.html#a2c6328bfd198d28854c61392dde05882">singa::ParserLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1MnistImageLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1MnistImageLayer.png b/api/classsinga_1_1MnistImageLayer.png
new file mode 100644
index 0000000..f66f3c9
Binary files /dev/null and b/api/classsinga_1_1MnistImageLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Msg-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Msg-members.html b/api/classsinga_1_1Msg-members.html
new file mode 100644
index 0000000..df878c7
--- /dev/null
+++ b/api/classsinga_1_1Msg-members.html
@@ -0,0 +1,145 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Msg.html">Msg</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Msg Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Msg.html#a2be7d16b024feeadbbfac1173f66a4b2">add_frame</a>(const void *addr, int nBytes)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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_1Msg.html#a1717eae9e3467b401585740fbe60514f">CopyAddr</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>dst</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>dst_</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dst_flag</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>dst_group_id</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>dst_id</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DumpToZmsg</b>() (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>frame_</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>frame_data</b>() (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>frame_size</b>() (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kMask1</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kMask2</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kMask3</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kOff1</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kOff2</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kOff3</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Msg</b>() (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>msg_</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Msg.html#a1cea3c81d4d3a5f6ee60c294d1c116eb">next_frame</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>ParseFromZmsg</b>(zmsg_t *msg) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_dst</b>(int group_id, int id, int flag) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>set_dst</b>(int procs_id, int flag) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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_1Msg.html#a91f08357ea61fb7008ea0d32c42ccbc1">set_src</a>(int group_id, int id, int flag)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>set_src</b>(int procs_id, int flag) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_target</b>(int target) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>set_type</b>(int type) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SetAddr</b>(BaseMsg *msg) (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>src</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>src_</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>src_flag</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>src_group_id</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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>src_id</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SwapAddr</b>() (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>target</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>target_</b> (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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_1BaseMsg.html#ab203b4c239a4dffdd658efb26870c9ed">~BaseMsg</a>()</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</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>~Msg</b>() (defined in <a class="el" href="classsinga_1_1Msg.html">singa::Msg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Msg.html">singa::Msg</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 Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[45/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classGraph-members.html
----------------------------------------------------------------------
diff --git a/api/classGraph-members.html b/api/classGraph-members.html
new file mode 100644
index 0000000..8ff244a
--- /dev/null
+++ b/api/classGraph-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Graph Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classGraph.html">Graph</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddEdge</b>(SNode srcnode, SNode dstnode) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddEdge</b>(const string &amp;src, const string &amp;dst) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddNode</b>(string name, V origin) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddNode</b>(string name) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Check</b>() const  (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Graph</b>() (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>InsertBridgeNode</b>(SNode srcnode, SNode dstnode) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>InsertConcateNode</b>(const vector&lt; SNode &gt; &amp;srcnodes, SNode dstnode, const V &amp;info) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>InsertSliceNode</b>(SNode srcnode, const vector&lt; SNode &gt; &amp;dstnodes, const V &amp;info, bool connect_dst=true) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>InsertSplitNode</b>(SNode srcnode, const vector&lt; SNode &gt; &amp;dstnodes) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>node</b>(string name) const  (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>nodes</b>() const  (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RemoveEdge</b>(const string &amp;src, const string &amp;dst) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>RemoveEdge</b>(SNode src, SNode dst) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Sort</b>() (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>topology_sort_inner</b>(SNode node, map&lt; string, bool &gt; *visited, std::stack&lt; string &gt; *stack) (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToString</b>() const  (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ToString</b>(const map&lt; string, string &gt; &amp;info) const  (defined in <a class="el" href="classGraph.html">Graph</a>)</td><td class="entry"><a class="el" href="classGraph.html">Graph</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classGraph.html
----------------------------------------------------------------------
diff --git a/api/classGraph.html b/api/classGraph.html
new file mode 100644
index 0000000..a2d68d4
--- /dev/null
+++ b/api/classGraph.html
@@ -0,0 +1,167 @@
+<!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.6"/>
+<title>Apache SINGA: Graph 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classGraph-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Graph Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>For partition neuralnet and displaying the neuralnet structure.  
+ <a href="classGraph.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="graph_8h_source.html">graph.h</a>&gt;</code></p>
+<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:acacf6e31d47a01da58f376835674602c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acacf6e31d47a01da58f376835674602c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Sort</b> ()</td></tr>
+<tr class="separator:acacf6e31d47a01da58f376835674602c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4406382decec9d54775d99a0defcf4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4406382decec9d54775d99a0defcf4e"></a>
+const SNode &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>AddNode</b> (string name, <a class="el" href="struct__LayerInfo.html">V</a> origin)</td></tr>
+<tr class="separator:ad4406382decec9d54775d99a0defcf4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfe852f645e9964d8b57267954660206"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfe852f645e9964d8b57267954660206"></a>
+const SNode &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>AddNode</b> (string name)</td></tr>
+<tr class="separator:adfe852f645e9964d8b57267954660206"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8cf572d037ec3d3ec51204de2612bb59"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8cf572d037ec3d3ec51204de2612bb59"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>AddEdge</b> (SNode srcnode, SNode dstnode)</td></tr>
+<tr class="separator:a8cf572d037ec3d3ec51204de2612bb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f0923f4e17f241e1431e68df2355019"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f0923f4e17f241e1431e68df2355019"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>AddEdge</b> (const string &amp;src, const string &amp;dst)</td></tr>
+<tr class="separator:a5f0923f4e17f241e1431e68df2355019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d64324a166c169eedaf440c61067370"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d64324a166c169eedaf440c61067370"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveEdge</b> (const string &amp;src, const string &amp;dst)</td></tr>
+<tr class="separator:a1d64324a166c169eedaf440c61067370"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a094a9182f86991c8cb8f6179a128e498"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a094a9182f86991c8cb8f6179a128e498"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveEdge</b> (SNode src, SNode dst)</td></tr>
+<tr class="separator:a094a9182f86991c8cb8f6179a128e498"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac07f244fa8496204ee53d9edfa7a8a4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac07f244fa8496204ee53d9edfa7a8a4c"></a>
+const vector&lt; SNode &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>nodes</b> () const </td></tr>
+<tr class="separator:ac07f244fa8496204ee53d9edfa7a8a4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5b1ba27be9cb3723d31221f388c3f37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5b1ba27be9cb3723d31221f388c3f37"></a>
+const SNode &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>node</b> (string name) const </td></tr>
+<tr class="separator:ad5b1ba27be9cb3723d31221f388c3f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc4304c1d7e28efb10da7678cda8b5c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc4304c1d7e28efb10da7678cda8b5c7"></a>
+const string&#160;</td><td class="memItemRight" valign="bottom"><b>ToString</b> () const </td></tr>
+<tr class="separator:afc4304c1d7e28efb10da7678cda8b5c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff628ea226385d782bffc88cf20a6f55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff628ea226385d782bffc88cf20a6f55"></a>
+const string&#160;</td><td class="memItemRight" valign="bottom"><b>ToString</b> (const map&lt; string, string &gt; &amp;info) const </td></tr>
+<tr class="separator:aff628ea226385d782bffc88cf20a6f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b3fae340524a0fbba07acd193564146"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b3fae340524a0fbba07acd193564146"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Check</b> () const </td></tr>
+<tr class="separator:a6b3fae340524a0fbba07acd193564146"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9895c58fe88d5d856abe886e126973ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9895c58fe88d5d856abe886e126973ed"></a>
+SNode&#160;</td><td class="memItemRight" valign="bottom"><b>InsertSliceNode</b> (SNode srcnode, const vector&lt; SNode &gt; &amp;dstnodes, const <a class="el" href="struct__LayerInfo.html">V</a> &amp;info, bool connect_dst=true)</td></tr>
+<tr class="separator:a9895c58fe88d5d856abe886e126973ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55fa7392372478be1e9ac65809d1f59e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55fa7392372478be1e9ac65809d1f59e"></a>
+SNode&#160;</td><td class="memItemRight" valign="bottom"><b>InsertConcateNode</b> (const vector&lt; SNode &gt; &amp;srcnodes, SNode dstnode, const <a class="el" href="struct__LayerInfo.html">V</a> &amp;info)</td></tr>
+<tr class="separator:a55fa7392372478be1e9ac65809d1f59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b7e204506402c134cd172b3d857d1e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b7e204506402c134cd172b3d857d1e4"></a>
+SNode&#160;</td><td class="memItemRight" valign="bottom"><b>InsertSplitNode</b> (SNode srcnode, const vector&lt; SNode &gt; &amp;dstnodes)</td></tr>
+<tr class="separator:a7b7e204506402c134cd172b3d857d1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2087b2228e07225296bf7b371568f4d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2087b2228e07225296bf7b371568f4d4"></a>
+std::pair&lt; SNode, SNode &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>InsertBridgeNode</b> (SNode srcnode, SNode dstnode)</td></tr>
+<tr class="separator:a2087b2228e07225296bf7b371568f4d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b766c7a92a1bf59dadc2f3a80a8fa9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b766c7a92a1bf59dadc2f3a80a8fa9c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>topology_sort_inner</b> (SNode node, map&lt; string, bool &gt; *visited, std::stack&lt; string &gt; *stack)</td></tr>
+<tr class="separator:a7b766c7a92a1bf59dadc2f3a80a8fa9c"><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>For partition neuralnet and displaying the neuralnet structure. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="graph_8h_source.html">graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classNode-members.html
----------------------------------------------------------------------
diff --git a/api/classNode-members.html b/api/classNode-members.html
new file mode 100644
index 0000000..99a10ee
--- /dev/null
+++ b/api/classNode-members.html
@@ -0,0 +1,117 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Node Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classNode.html">Node</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstNode</b>(SNode dstnode) (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcNode</b>(SNode srcnode) (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstnodes</b>(int k) const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>dstnodes</b>() const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstnodes_size</b>() const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>name</b>() const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Node</b>(string name) (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Node</b>(string name, const V &amp;v) (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RemoveDstNode</b>(SNode dst) (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>RemoveSrcNode</b>(SNode src) (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SNode</b> typedef (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>srcnodes</b>(int k) const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>srcnodes</b>() const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>srcnodes_size</b>() const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>val</b>() const  (defined in <a class="el" href="classNode.html">Node</a>)</td><td class="entry"><a class="el" href="classNode.html">Node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classNode.html
----------------------------------------------------------------------
diff --git a/api/classNode.html b/api/classNode.html
new file mode 100644
index 0000000..b1fd4f5
--- /dev/null
+++ b/api/classNode.html
@@ -0,0 +1,158 @@
+<!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.6"/>
+<title>Apache SINGA: Node 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classNode-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Node Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad026bc24e769044995acc03d15367588"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad026bc24e769044995acc03d15367588"></a>
+typedef shared_ptr&lt; <a class="el" href="classNode.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SNode</b></td></tr>
+<tr class="separator:ad026bc24e769044995acc03d15367588"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a29301d7a338fd1e079ac8cdb1f8c02e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29301d7a338fd1e079ac8cdb1f8c02e1"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Node</b> (string name)</td></tr>
+<tr class="separator:a29301d7a338fd1e079ac8cdb1f8c02e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ff9e474d9d8578f2ecaaba7df572b46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ff9e474d9d8578f2ecaaba7df572b46"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Node</b> (string name, const <a class="el" href="struct__LayerInfo.html">V</a> &amp;v)</td></tr>
+<tr class="separator:a0ff9e474d9d8578f2ecaaba7df572b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6837afbeef9825f5c6339200151963e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6837afbeef9825f5c6339200151963e1"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstNode</b> (SNode dstnode)</td></tr>
+<tr class="separator:a6837afbeef9825f5c6339200151963e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6120799d760c62a1873b0abe255a4125"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6120799d760c62a1873b0abe255a4125"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcNode</b> (SNode srcnode)</td></tr>
+<tr class="separator:a6120799d760c62a1873b0abe255a4125"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3aac34203a23b8fae34cca2971b24ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3aac34203a23b8fae34cca2971b24ac"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveDstNode</b> (SNode dst)</td></tr>
+<tr class="separator:af3aac34203a23b8fae34cca2971b24ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ab6317847c554166c9a2a0d089ff3bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ab6317847c554166c9a2a0d089ff3bf"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveSrcNode</b> (SNode src)</td></tr>
+<tr class="separator:a3ab6317847c554166c9a2a0d089ff3bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f6ebe26b004b2a3c77a8125edd00852"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f6ebe26b004b2a3c77a8125edd00852"></a>
+const string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> () const </td></tr>
+<tr class="separator:a5f6ebe26b004b2a3c77a8125edd00852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7481ce2b806a723d4d344a96ae99da73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7481ce2b806a723d4d344a96ae99da73"></a>
+const <a class="el" href="struct__LayerInfo.html">V</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>val</b> () const </td></tr>
+<tr class="separator:a7481ce2b806a723d4d344a96ae99da73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e45ea4b2abba35f723671021acc026f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e45ea4b2abba35f723671021acc026f"></a>
+const SNode&#160;</td><td class="memItemRight" valign="bottom"><b>srcnodes</b> (int k) const </td></tr>
+<tr class="separator:a8e45ea4b2abba35f723671021acc026f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1528965d59d37090861d0d4efffe5bc6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1528965d59d37090861d0d4efffe5bc6"></a>
+const SNode&#160;</td><td class="memItemRight" valign="bottom"><b>dstnodes</b> (int k) const </td></tr>
+<tr class="separator:a1528965d59d37090861d0d4efffe5bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab79afa99b5126d5e0adf613211f6776"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab79afa99b5126d5e0adf613211f6776"></a>
+const vector&lt; SNode &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>srcnodes</b> () const </td></tr>
+<tr class="separator:aab79afa99b5126d5e0adf613211f6776"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ae5d23a9c31d558c91918b1a286fa07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ae5d23a9c31d558c91918b1a286fa07"></a>
+const vector&lt; SNode &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>dstnodes</b> () const </td></tr>
+<tr class="separator:a0ae5d23a9c31d558c91918b1a286fa07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8bddecf54c0ceae10d2e76859111a9d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8bddecf54c0ceae10d2e76859111a9d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>dstnodes_size</b> () const </td></tr>
+<tr class="separator:aa8bddecf54c0ceae10d2e76859111a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa8c2f4c88913804139f4ec845cfc54c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa8c2f4c88913804139f4ec845cfc54c"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>srcnodes_size</b> () const </td></tr>
+<tr class="separator:afa8c2f4c88913804139f4ec845cfc54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="graph_8h_source.html">graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classSingleton-members.html
----------------------------------------------------------------------
diff --git a/api/classSingleton-members.html b/api/classSingleton-members.html
new file mode 100644
index 0000000..ef58c3a
--- /dev/null
+++ b/api/classSingleton-members.html
@@ -0,0 +1,103 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Singleton&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classSingleton.html">Singleton&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Instance</b>() (defined in <a class="el" href="classSingleton.html">Singleton&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classSingleton.html">Singleton&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classSingleton.html
----------------------------------------------------------------------
diff --git a/api/classSingleton.html b/api/classSingleton.html
new file mode 100644
index 0000000..567fe51
--- /dev/null
+++ b/api/classSingleton.html
@@ -0,0 +1,112 @@
+<!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.6"/>
+<title>Apache SINGA: Singleton&lt; T &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classSingleton-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Singleton&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a9619dd8c048bc1cee850febffd7c5d8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9619dd8c048bc1cee850febffd7c5d8e"></a>
+static T *&#160;</td><td class="memItemRight" valign="bottom"><b>Instance</b> ()</td></tr>
+<tr class="separator:a9619dd8c048bc1cee850febffd7c5d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="singleton_8h_source.html">singleton.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classSyncedMemory-members.html
----------------------------------------------------------------------
diff --git a/api/classSyncedMemory-members.html b/api/classSyncedMemory-members.html
new file mode 100644
index 0000000..5e97b93
--- /dev/null
+++ b/api/classSyncedMemory-members.html
@@ -0,0 +1,117 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SyncedMemory Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classSyncedMemory.html">SyncedMemory</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cpu_data</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>gpu_data</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>head</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HEAD_AT_CPU</b> enum value (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HEAD_AT_GPU</b> enum value (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_cpu_data</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_gpu_data</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_cpu_data</b>(void *data) (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SYNCED</b> enum value (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SyncedHead</b> enum name (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SyncedMemory</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SyncedMemory</b>(size_t size) (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UNINITIALIZED</b> enum value (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SyncedMemory</b>() (defined in <a class="el" href="classSyncedMemory.html">SyncedMemory</a>)</td><td class="entry"><a class="el" href="classSyncedMemory.html">SyncedMemory</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classSyncedMemory.html
----------------------------------------------------------------------
diff --git a/api/classSyncedMemory.html b/api/classSyncedMemory.html
new file mode 100644
index 0000000..c1b3a5d
--- /dev/null
+++ b/api/classSyncedMemory.html
@@ -0,0 +1,151 @@
+<!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.6"/>
+<title>Apache SINGA: SyncedMemory 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classSyncedMemory-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">SyncedMemory Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Manages memory allocation and synchronization between the host (CPU) and device (GPU).  
+ <a href="classSyncedMemory.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="blob_8h_source.html">blob.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8a4c9539fd196aee1224d929e9c31ea0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>SyncedHead</b> { <b>UNINITIALIZED</b>, 
+<b>HEAD_AT_CPU</b>, 
+<b>HEAD_AT_GPU</b>, 
+<b>SYNCED</b>
+ }</td></tr>
+<tr class="separator:a8a4c9539fd196aee1224d929e9c31ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a80b65048d773b1427723a4466f1598f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80b65048d773b1427723a4466f1598f2"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>SyncedMemory</b> (size_t size)</td></tr>
+<tr class="separator:a80b65048d773b1427723a4466f1598f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09fd43cfb402f49a4e63216158df3dfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09fd43cfb402f49a4e63216158df3dfe"></a>
+const void *&#160;</td><td class="memItemRight" valign="bottom"><b>cpu_data</b> ()</td></tr>
+<tr class="separator:a09fd43cfb402f49a4e63216158df3dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a95d2d9e0b5bb60c4122cdf70265f5f96"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95d2d9e0b5bb60c4122cdf70265f5f96"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_cpu_data</b> (void *data)</td></tr>
+<tr class="separator:a95d2d9e0b5bb60c4122cdf70265f5f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60e525658542e186c2a5fa078cecd195"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60e525658542e186c2a5fa078cecd195"></a>
+const void *&#160;</td><td class="memItemRight" valign="bottom"><b>gpu_data</b> ()</td></tr>
+<tr class="separator:a60e525658542e186c2a5fa078cecd195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97b2143c36db33d0f23d0fc3e30a891e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97b2143c36db33d0f23d0fc3e30a891e"></a>
+void *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_data</b> ()</td></tr>
+<tr class="separator:a97b2143c36db33d0f23d0fc3e30a891e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe9652cbf082be7103f0c22e6994bb70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe9652cbf082be7103f0c22e6994bb70"></a>
+void *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_gpu_data</b> ()</td></tr>
+<tr class="separator:abe9652cbf082be7103f0c22e6994bb70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92a9f73af09fcc6ff06adc458e6374ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92a9f73af09fcc6ff06adc458e6374ae"></a>
+SyncedHead&#160;</td><td class="memItemRight" valign="bottom"><b>head</b> ()</td></tr>
+<tr class="separator:a92a9f73af09fcc6ff06adc458e6374ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa31adf033f6d56aa05fbce25d48a058a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa31adf033f6d56aa05fbce25d48a058a"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
+<tr class="separator:aa31adf033f6d56aa05fbce25d48a058a"><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>Manages memory allocation and synchronization between the host (CPU) and device (GPU). </p>
+<p>TODO(dox): more thorough description. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="blob_8h_source.html">blob.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[13/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SoftmaxLossLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SoftmaxLossLayer-members.html b/api/classsinga_1_1SoftmaxLossLayer-members.html
new file mode 100644
index 0000000..49b414e
--- /dev/null
+++ b/api/classsinga_1_1SoftmaxLossLayer-members.html
@@ -0,0 +1,158 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">SoftmaxLossLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::SoftmaxLossLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::LossLayer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::LossLayer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::LossLayer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::LossLayer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html#afdf930f5872db0c86d6f1fd944b338c3">connection_type</a>(int k) const </td><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</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>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>metric</b>() const  (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</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>metric_</b> (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1SoftmaxLossLayer.html#af36fdea88d2538cffbbe34a2930613a6">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1SoftmaxLossLayer.html#af92ba2d30039d508cada194a557067a7">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html#aceb8d0a51d606b0ac6bd4c13e77af01a">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">singa::SoftmaxLossLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SoftmaxLossLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SoftmaxLossLayer.html b/api/classsinga_1_1SoftmaxLossLayer.html
new file mode 100644
index 0000000..4066f28
--- /dev/null
+++ b/api/classsinga_1_1SoftmaxLossLayer.html
@@ -0,0 +1,408 @@
+<!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.6"/>
+<title>Apache SINGA: singa::SoftmaxLossLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">SoftmaxLossLayer</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_1SoftmaxLossLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::SoftmaxLossLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::SoftmaxLossLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1SoftmaxLossLayer.png" usemap="#singa::SoftmaxLossLayer_map" alt=""/>
+  <map id="singa::SoftmaxLossLayer_map" name="singa::SoftmaxLossLayer_map">
+<area href="classsinga_1_1LossLayer.html" title="Loss layer to calculate loss and other metrics, e.g., precison. " alt="singa::LossLayer" shape="rect" coords="0,56,151,80"/>
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,151,24"/>
+</map>
+ </div></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:af92ba2d30039d508cada194a557067a7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html#af92ba2d30039d508cada194a557067a7">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:af92ba2d30039d508cada194a557067a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#af92ba2d30039d508cada194a557067a7">More...</a><br/></td></tr>
+<tr class="separator:af92ba2d30039d508cada194a557067a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aceb8d0a51d606b0ac6bd4c13e77af01a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html#aceb8d0a51d606b0ac6bd4c13e77af01a">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aceb8d0a51d606b0ac6bd4c13e77af01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#aceb8d0a51d606b0ac6bd4c13e77af01a">More...</a><br/></td></tr>
+<tr class="separator:aceb8d0a51d606b0ac6bd4c13e77af01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af36fdea88d2538cffbbe34a2930613a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af36fdea88d2538cffbbe34a2930613a6"></a>
+virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html#af36fdea88d2538cffbbe34a2930613a6">partition_type</a> () const </td></tr>
+<tr class="memdesc:af36fdea88d2538cffbbe34a2930613a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">softmax is not recommendeded for partition because it requires the whole src layer for normalization. <br/></td></tr>
+<tr class="separator:af36fdea88d2538cffbbe34a2930613a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdf930f5872db0c86d6f1fd944b338c3"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html#afdf930f5872db0c86d6f1fd944b338c3">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:afdf930f5872db0c86d6f1fd944b338c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#afdf930f5872db0c86d6f1fd944b338c3">More...</a><br/></td></tr>
+<tr class="separator:afdf930f5872db0c86d6f1fd944b338c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadbdb92d9740b4c542dfdc7c8446d96b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadbdb92d9740b4c542dfdc7c8446d96b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:aadbdb92d9740b4c542dfdc7c8446d96b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22ab29e5b2dd04cda37b0ba104db2048"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22ab29e5b2dd04cda37b0ba104db2048"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a22ab29e5b2dd04cda37b0ba104db2048"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1LossLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1LossLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td></tr>
+<tr class="memitem:aaedd08096c3e1f2bae5cccf75cdf3382 inherit pub_methods_classsinga_1_1LossLayer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:aaedd08096c3e1f2bae5cccf75cdf3382 inherit pub_methods_classsinga_1_1LossLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7291fdd251c7c50f6ed6909a9f34601b inherit pub_methods_classsinga_1_1LossLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7291fdd251c7c50f6ed6909a9f34601b"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:a7291fdd251c7c50f6ed6909a9f34601b inherit pub_methods_classsinga_1_1LossLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abecfaa9371c59b37a45fcb618a69fb0e inherit pub_methods_classsinga_1_1LossLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abecfaa9371c59b37a45fcb618a69fb0e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:abecfaa9371c59b37a45fcb618a69fb0e inherit pub_methods_classsinga_1_1LossLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e32443489991822a191c988bf87979d inherit pub_methods_classsinga_1_1LossLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e32443489991822a191c988bf87979d"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>metric</b> () const </td></tr>
+<tr class="separator:a1e32443489991822a191c988bf87979d inherit pub_methods_classsinga_1_1LossLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1LossLayer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1LossLayer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td></tr>
+<tr class="memitem:a7e32d565d74f7cce684a36d1b399f30c inherit pro_attribs_classsinga_1_1LossLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e32d565d74f7cce684a36d1b399f30c"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>metric_</b></td></tr>
+<tr class="separator:a7e32d565d74f7cce684a36d1b399f30c inherit pro_attribs_classsinga_1_1LossLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afdf930f5872db0c86d6f1fd944b338c3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual ConnectionType singa::SoftmaxLossLayer::connection_type </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em></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>return connection type between two layers. </p>
+<p>Currently support two connections: kOneToOne, and kOneToAll. kOneToOne indicates the dst neuron depends on only one neuron from src layer. kOneToAll indicates the dst neuron depends on all neurons from src layer. TODO support kOneToMany. </p>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af92ba2d30039d508cada194a557067a7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SoftmaxLossLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1LossLayer.html#a16f16d5b289cb2d4bee9a9bee21e3b7c">singa::LossLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aceb8d0a51d606b0ac6bd4c13e77af01a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SoftmaxLossLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1LossLayer.html#adefb43c93a024c3b7fc558abc291dc49">singa::LossLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SoftmaxLossLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SoftmaxLossLayer.png b/api/classsinga_1_1SoftmaxLossLayer.png
new file mode 100644
index 0000000..a85e40f
Binary files /dev/null and b/api/classsinga_1_1SoftmaxLossLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SplitLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SplitLayer-members.html b/api/classsinga_1_1SplitLayer-members.html
new file mode 100644
index 0000000..e9ba78f
--- /dev/null
+++ b/api/classsinga_1_1SplitLayer-members.html
@@ -0,0 +1,156 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SplitLayer.html">SplitLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::SplitLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1SplitLayer.html#a5a03aaa4e7de6432b511fedb340b9250">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html#a7b54c7a0f54190b476a676028f7cc4ae">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html#a949028cd476e463b6893fb9ff6c7d664">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1SplitLayer.html">singa::SplitLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>



[39/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html
new file mode 100644
index 0000000..4fd4bab
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html
@@ -0,0 +1,123 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">SSEPlan< Tensor< Device, dim > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a39005560fa071ba1091bae96a32f4140"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39005560fa071ba1091bae96a32f4140"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>SSEPlan</b> (const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dim &gt; &amp;t)</td></tr>
+<tr class="separator:a39005560fa071ba1091bae96a32f4140"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae95e1db2fe294d49437013c80b711af7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae95e1db2fe294d49437013c80b711af7"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="structmshadow_1_1sse2_1_1FVec.html">sse2::FVec</a><br class="typebreak"/>
+&lt; <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>EvalSSE</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:ae95e1db2fe294d49437013c80b711af7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d5ad098bf681cc0b74f25cb9dba9647"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d5ad098bf681cc0b74f25cb9dba9647"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a5d5ad098bf681cc0b74f25cb9dba9647"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__sse-inl_8hpp_source.html">tensor_sse-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html
new file mode 100644
index 0000000..0133dba
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">SSEPlan< UnaryMapExp< OP, TA, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>EvalSSE</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SSEPlan</b>(const SSEPlan&lt; TA &gt; &amp;src) (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html
new file mode 100644
index 0000000..40dea7b
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html
@@ -0,0 +1,123 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">SSEPlan< UnaryMapExp< OP, TA, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a35e2831ee6496ded527fbe69ff92a40f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35e2831ee6496ded527fbe69ff92a40f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>SSEPlan</b> (const <a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">SSEPlan</a>&lt; TA &gt; &amp;src)</td></tr>
+<tr class="separator:a35e2831ee6496ded527fbe69ff92a40f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acfc987aec17b6d826d0e7e000e0fd7aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfc987aec17b6d826d0e7e000e0fd7aa"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="structmshadow_1_1sse2_1_1FVec.html">sse2::FVec</a><br class="typebreak"/>
+&lt; <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>EvalSSE</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:acfc987aec17b6d826d0e7e000e0fd7aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72465f7307173da44273c78b9f8cfc76"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72465f7307173da44273c78b9f8cfc76"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a72465f7307173da44273c78b9f8cfc76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__sse-inl_8hpp_source.html">tensor_sse-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1utils_1_1FileStream-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1utils_1_1FileStream-members.html b/api/classmshadow_1_1utils_1_1FileStream-members.html
new file mode 100644
index 0000000..4e3450e
--- /dev/null
+++ b/api/classmshadow_1_1utils_1_1FileStream-members.html
@@ -0,0 +1,111 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">FileStream</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::utils::FileStream Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1utils_1_1FileStream.html">mshadow::utils::FileStream</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#a54da363263a1c831714e38fb54953da8">Close</a>(void)</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">mshadow::utils::FileStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ac76bc8d0afbcd4e55d8016a03a6193f9">FileStream</a>(FILE *fp)</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">mshadow::utils::FileStream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ad8a2fe6c8dae4567631471ec5f51cb62">Read</a>(void *ptr, size_t size)</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">mshadow::utils::FileStream</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="classmshadow_1_1utils_1_1FileStream.html#ad2c4cf0a9bd50e178d58c37b4d5ff78c">Write</a>(const void *ptr, size_t size)</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">mshadow::utils::FileStream</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="classmshadow_1_1utils_1_1IStream.html#a3fd2a7483255a8ba3348a4a88117e2c3">~IStream</a>(void)</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">mshadow::utils::IStream</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 Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1utils_1_1FileStream.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1utils_1_1FileStream.html b/api/classmshadow_1_1utils_1_1FileStream.html
new file mode 100644
index 0000000..456bf1f
--- /dev/null
+++ b/api/classmshadow_1_1utils_1_1FileStream.html
@@ -0,0 +1,240 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::utils::FileStream 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">FileStream</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1utils_1_1FileStream-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::utils::FileStream Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>implementation of file i/o stream  
+ <a href="classmshadow_1_1utils_1_1FileStream.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__io_8h_source.html">tensor_io.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for mshadow::utils::FileStream:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classmshadow_1_1utils_1_1FileStream.png" usemap="#mshadow::utils::FileStream_map" alt=""/>
+  <map id="mshadow::utils::FileStream_map" name="mshadow::utils::FileStream_map">
+<area href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, it is not restricted to only this interface in SaveB..." alt="mshadow::utils::IStream" shape="rect" coords="0,0,158,24"/>
+</map>
+ </div></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:ac76bc8d0afbcd4e55d8016a03a6193f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac76bc8d0afbcd4e55d8016a03a6193f9"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ac76bc8d0afbcd4e55d8016a03a6193f9">FileStream</a> (FILE *fp)</td></tr>
+<tr class="memdesc:ac76bc8d0afbcd4e55d8016a03a6193f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor <br/></td></tr>
+<tr class="separator:ac76bc8d0afbcd4e55d8016a03a6193f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8a2fe6c8dae4567631471ec5f51cb62"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ad8a2fe6c8dae4567631471ec5f51cb62">Read</a> (void *ptr, size_t size)</td></tr>
+<tr class="memdesc:ad8a2fe6c8dae4567631471ec5f51cb62"><td class="mdescLeft">&#160;</td><td class="mdescRight">read data from stream  <a href="#ad8a2fe6c8dae4567631471ec5f51cb62">More...</a><br/></td></tr>
+<tr class="separator:ad8a2fe6c8dae4567631471ec5f51cb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2c4cf0a9bd50e178d58c37b4d5ff78c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ad2c4cf0a9bd50e178d58c37b4d5ff78c">Write</a> (const void *ptr, size_t size)</td></tr>
+<tr class="memdesc:ad2c4cf0a9bd50e178d58c37b4d5ff78c"><td class="mdescLeft">&#160;</td><td class="mdescRight">write data to stream  <a href="#ad2c4cf0a9bd50e178d58c37b4d5ff78c">More...</a><br/></td></tr>
+<tr class="separator:ad2c4cf0a9bd50e178d58c37b4d5ff78c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54da363263a1c831714e38fb54953da8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54da363263a1c831714e38fb54953da8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html#a54da363263a1c831714e38fb54953da8">Close</a> (void)</td></tr>
+<tr class="memdesc:a54da363263a1c831714e38fb54953da8"><td class="mdescLeft">&#160;</td><td class="mdescRight">close file <br/></td></tr>
+<tr class="separator:a54da363263a1c831714e38fb54953da8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classmshadow_1_1utils_1_1IStream"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmshadow_1_1utils_1_1IStream')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmshadow_1_1utils_1_1IStream.html">mshadow::utils::IStream</a></td></tr>
+<tr class="memitem:a3fd2a7483255a8ba3348a4a88117e2c3 inherit pub_methods_classmshadow_1_1utils_1_1IStream"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fd2a7483255a8ba3348a4a88117e2c3"></a>
+virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#a3fd2a7483255a8ba3348a4a88117e2c3">~IStream</a> (void)</td></tr>
+<tr class="memdesc:a3fd2a7483255a8ba3348a4a88117e2c3 inherit pub_methods_classmshadow_1_1utils_1_1IStream"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual destructor <br/></td></tr>
+<tr class="separator:a3fd2a7483255a8ba3348a4a88117e2c3 inherit pub_methods_classmshadow_1_1utils_1_1IStream"><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>implementation of file i/o stream </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad8a2fe6c8dae4567631471ec5f51cb62"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual size_t mshadow::utils::FileStream::Read </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</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>read data from stream </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ptr</td><td>pointer to memory buffer </td></tr>
+    <tr><td class="paramname">size</td><td>size of block </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>usually is the size of data readed </dd></dl>
+
+<p>Implements <a class="el" href="classmshadow_1_1utils_1_1IStream.html#a2559de01e6e0e6a885c305147006de08">mshadow::utils::IStream</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad2c4cf0a9bd50e178d58c37b4d5ff78c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void mshadow::utils::FileStream::Write </td>
+          <td>(</td>
+          <td class="paramtype">const void *&#160;</td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</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>write data to stream </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ptr</td><td>pointer to memory buffer </td></tr>
+    <tr><td class="paramname">size</td><td>size of block </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classmshadow_1_1utils_1_1IStream.html#ac2d9ef01d47584fe24aeb85fe896867b">mshadow::utils::IStream</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__io_8h_source.html">tensor_io.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1utils_1_1FileStream.png
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1utils_1_1FileStream.png b/api/classmshadow_1_1utils_1_1FileStream.png
new file mode 100644
index 0000000..8e4c5c9
Binary files /dev/null and b/api/classmshadow_1_1utils_1_1FileStream.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1utils_1_1IStream-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1utils_1_1IStream-members.html b/api/classmshadow_1_1utils_1_1IStream-members.html
new file mode 100644
index 0000000..9487742
--- /dev/null
+++ b/api/classmshadow_1_1utils_1_1IStream-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">IStream</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::utils::IStream Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1utils_1_1IStream.html">mshadow::utils::IStream</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#a2559de01e6e0e6a885c305147006de08">Read</a>(void *ptr, size_t size)=0</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">mshadow::utils::IStream</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#ac2d9ef01d47584fe24aeb85fe896867b">Write</a>(const void *ptr, size_t size)=0</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">mshadow::utils::IStream</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#a3fd2a7483255a8ba3348a4a88117e2c3">~IStream</a>(void)</td><td class="entry"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">mshadow::utils::IStream</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 Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1utils_1_1IStream.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1utils_1_1IStream.html b/api/classmshadow_1_1utils_1_1IStream.html
new file mode 100644
index 0000000..c75d3f7
--- /dev/null
+++ b/api/classmshadow_1_1utils_1_1IStream.html
@@ -0,0 +1,231 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::utils::IStream 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">IStream</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1utils_1_1IStream-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::utils::IStream Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>interface of stream I/O, used to serialize data, it is not restricted to only this interface in SaveBinary/LoadBinary mshadow accept all class that implements Read and Write  
+ <a href="classmshadow_1_1utils_1_1IStream.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__io_8h_source.html">tensor_io.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for mshadow::utils::IStream:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classmshadow_1_1utils_1_1IStream.png" usemap="#mshadow::utils::IStream_map" alt=""/>
+  <map id="mshadow::utils::IStream_map" name="mshadow::utils::IStream_map">
+<area href="classmshadow_1_1utils_1_1FileStream.html" title="implementation of file i/o stream " alt="mshadow::utils::FileStream" shape="rect" coords="0,56,158,80"/>
+</map>
+ </div></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:a2559de01e6e0e6a885c305147006de08"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#a2559de01e6e0e6a885c305147006de08">Read</a> (void *ptr, size_t size)=0</td></tr>
+<tr class="memdesc:a2559de01e6e0e6a885c305147006de08"><td class="mdescLeft">&#160;</td><td class="mdescRight">read data from stream  <a href="#a2559de01e6e0e6a885c305147006de08">More...</a><br/></td></tr>
+<tr class="separator:a2559de01e6e0e6a885c305147006de08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2d9ef01d47584fe24aeb85fe896867b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#ac2d9ef01d47584fe24aeb85fe896867b">Write</a> (const void *ptr, size_t size)=0</td></tr>
+<tr class="memdesc:ac2d9ef01d47584fe24aeb85fe896867b"><td class="mdescLeft">&#160;</td><td class="mdescRight">write data to stream  <a href="#ac2d9ef01d47584fe24aeb85fe896867b">More...</a><br/></td></tr>
+<tr class="separator:ac2d9ef01d47584fe24aeb85fe896867b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fd2a7483255a8ba3348a4a88117e2c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fd2a7483255a8ba3348a4a88117e2c3"></a>
+virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1utils_1_1IStream.html#a3fd2a7483255a8ba3348a4a88117e2c3">~IStream</a> (void)</td></tr>
+<tr class="memdesc:a3fd2a7483255a8ba3348a4a88117e2c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual destructor <br/></td></tr>
+<tr class="separator:a3fd2a7483255a8ba3348a4a88117e2c3"><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>interface of stream I/O, used to serialize data, it is not restricted to only this interface in SaveBinary/LoadBinary mshadow accept all class that implements Read and Write </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2559de01e6e0e6a885c305147006de08"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual size_t mshadow::utils::IStream::Read </td>
+          <td>(</td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>read data from stream </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ptr</td><td>pointer to memory buffer </td></tr>
+    <tr><td class="paramname">size</td><td>size of block </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>usually is the size of data readed </dd></dl>
+
+<p>Implemented in <a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ad8a2fe6c8dae4567631471ec5f51cb62">mshadow::utils::FileStream</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac2d9ef01d47584fe24aeb85fe896867b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void mshadow::utils::IStream::Write </td>
+          <td>(</td>
+          <td class="paramtype">const void *&#160;</td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>write data to stream </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ptr</td><td>pointer to memory buffer </td></tr>
+    <tr><td class="paramname">size</td><td>size of block </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classmshadow_1_1utils_1_1FileStream.html#ad2c4cf0a9bd50e178d58c37b4d5ff78c">mshadow::utils::FileStream</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__io_8h_source.html">tensor_io.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1utils_1_1IStream.png
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1utils_1_1IStream.png b/api/classmshadow_1_1utils_1_1IStream.png
new file mode 100644
index 0000000..650d416
Binary files /dev/null and b/api/classmshadow_1_1utils_1_1IStream.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1AdaGradUpdater-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1AdaGradUpdater-members.html b/api/classsinga_1_1AdaGradUpdater-members.html
new file mode 100644
index 0000000..52f1a90
--- /dev/null
+++ b/api/classsinga_1_1AdaGradUpdater-members.html
@@ -0,0 +1,113 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1AdaGradUpdater.html">AdaGradUpdater</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::AdaGradUpdater Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base_lr_</b> (defined in <a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>delta_</b> (defined in <a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetLearningRate</b>(int step) (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>Init</b>(const UpdaterProto &amp;proto) (defined in <a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>Update</b>(int step, shared_ptr&lt; Param &gt; param, float grad_scale=1.0f) (defined in <a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>weight_decay_</b> (defined in <a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1AdaGradUpdater.html">singa::AdaGradUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1AdaGradUpdater.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1AdaGradUpdater.html b/api/classsinga_1_1AdaGradUpdater.html
new file mode 100644
index 0000000..61d29af
--- /dev/null
+++ b/api/classsinga_1_1AdaGradUpdater.html
@@ -0,0 +1,149 @@
+<!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.6"/>
+<title>Apache SINGA: singa::AdaGradUpdater 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1AdaGradUpdater.html">AdaGradUpdater</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_1AdaGradUpdater-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::AdaGradUpdater Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::AdaGradUpdater:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1AdaGradUpdater.png" usemap="#singa::AdaGradUpdater_map" alt=""/>
+  <map id="singa::AdaGradUpdater_map" name="singa::AdaGradUpdater_map">
+<area href="classsinga_1_1Updater.html" title="Updater for Param. " alt="singa::Updater" shape="rect" coords="0,0,143,24"/>
+</map>
+ </div></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:a5da8049f4a511195726dacb0a22aced9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5da8049f4a511195726dacb0a22aced9"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (const UpdaterProto &amp;proto)</td></tr>
+<tr class="separator:a5da8049f4a511195726dacb0a22aced9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f1bc7f3cb72256d8ec04cadbc50a2a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f1bc7f3cb72256d8ec04cadbc50a2a4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (int step, shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, float grad_scale=1.0f)</td></tr>
+<tr class="separator:a8f1bc7f3cb72256d8ec04cadbc50a2a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4189828903aa55cddefe468575f9f2c8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>GetLearningRate</b> (int step)</td></tr>
+<tr class="separator:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><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:ac2573d380be173b5945ad0e2f684035c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2573d380be173b5945ad0e2f684035c"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>base_lr_</b></td></tr>
+<tr class="separator:ac2573d380be173b5945ad0e2f684035c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81b86dfed3791843e697cd33ea3df947"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81b86dfed3791843e697cd33ea3df947"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>delta_</b></td></tr>
+<tr class="separator:a81b86dfed3791843e697cd33ea3df947"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8980e255c25f8bfe8be0d07485d50f48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8980e255c25f8bfe8be0d07485d50f48"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>weight_decay_</b></td></tr>
+<tr class="separator:a8980e255c25f8bfe8be0d07485d50f48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad5f46dc2f78aa73b6698a11447aad2d"></a>
+UpdaterProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="updater_8h_source.html">updater.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1AdaGradUpdater.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1AdaGradUpdater.png b/api/classsinga_1_1AdaGradUpdater.png
new file mode 100644
index 0000000..2fa81fe
Binary files /dev/null and b/api/classsinga_1_1AdaGradUpdater.png differ



[29/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LMDBDataLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LMDBDataLayer.html b/api/classsinga_1_1LMDBDataLayer.html
new file mode 100644
index 0000000..5264942
--- /dev/null
+++ b/api/classsinga_1_1LMDBDataLayer.html
@@ -0,0 +1,363 @@
+<!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.6"/>
+<title>Apache SINGA: singa::LMDBDataLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LMDBDataLayer.html">LMDBDataLayer</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_1LMDBDataLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::LMDBDataLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::LMDBDataLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1LMDBDataLayer.png" usemap="#singa::LMDBDataLayer_map" alt=""/>
+  <map id="singa::LMDBDataLayer_map" name="singa::LMDBDataLayer_map">
+<area href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. " alt="singa::DataLayer" shape="rect" coords="0,56,142,80"/>
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,142,24"/>
+</map>
+ </div></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:a19491bdcf9941404ddac19907baf4f18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19491bdcf9941404ddac19907baf4f18"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a19491bdcf9941404ddac19907baf4f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93454df7f025ef8cc9f9a0d1089e5f3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93454df7f025ef8cc9f9a0d1089e5f3a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a93454df7f025ef8cc9f9a0d1089e5f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a715e5072cbf8897531f88bb681698081"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LMDBDataLayer.html#a715e5072cbf8897531f88bb681698081">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a715e5072cbf8897531f88bb681698081"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a715e5072cbf8897531f88bb681698081">More...</a><br/></td></tr>
+<tr class="separator:a715e5072cbf8897531f88bb681698081"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17d483b27be773d54ccb00c0a6c447ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17d483b27be773d54ccb00c0a6c447ed"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ConvertDatumToSingleLableImageRecord</b> (const Datum &amp;datum, SingleLabelImageRecord *record)</td></tr>
+<tr class="separator:a17d483b27be773d54ccb00c0a6c447ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1DataLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1DataLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td></tr>
+<tr class="memitem:a1764fa7801dd568e706beacf18d284b0 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a1764fa7801dd568e706beacf18d284b0 inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a1764fa7801dd568e706beacf18d284b0">More...</a><br/></td></tr>
+<tr class="separator:a1764fa7801dd568e706beacf18d284b0 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af721c9697239513cbab4a39680557da1 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af721c9697239513cbab4a39680557da1"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:af721c9697239513cbab4a39680557da1 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ab6f424cb1838773bb16c94d6a585a5 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a2ab6f424cb1838773bb16c94d6a585a5 inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a2ab6f424cb1838773bb16c94d6a585a5">More...</a><br/></td></tr>
+<tr class="separator:a2ab6f424cb1838773bb16c94d6a585a5 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a861a39f12637b9873c00eccfaf8218dc inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a861a39f12637b9873c00eccfaf8218dc"></a>
+virtual const vector&lt; Record &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>records</b> () const </td></tr>
+<tr class="separator:a861a39f12637b9873c00eccfaf8218dc inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703368d1972e8343e0dea4acd93702ae inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a> ()</td></tr>
+<tr class="memdesc:a703368d1972e8343e0dea4acd93702ae inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a703368d1972e8343e0dea4acd93702ae">More...</a><br/></td></tr>
+<tr class="separator:a703368d1972e8343e0dea4acd93702ae inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c7b81249e522dd231a098ffed481496 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a3c7b81249e522dd231a098ffed481496 inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a3c7b81249e522dd231a098ffed481496">More...</a><br/></td></tr>
+<tr class="separator:a3c7b81249e522dd231a098ffed481496 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9409f6c2e8c697df94cbc4de445f033e inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9409f6c2e8c697df94cbc4de445f033e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a9409f6c2e8c697df94cbc4de445f033e inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a9409f6c2e8c697df94cbc4de445f033e inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ffcae36ddcc4a445b9a91b083b29d2b inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a> () const </td></tr>
+<tr class="memdesc:a5ffcae36ddcc4a445b9a91b083b29d2b inherit pub_methods_classsinga_1_1DataLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a5ffcae36ddcc4a445b9a91b083b29d2b">More...</a><br/></td></tr>
+<tr class="separator:a5ffcae36ddcc4a445b9a91b083b29d2b inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a7c62ba442da367c22fdcc477eecc55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a7c62ba442da367c22fdcc477eecc55"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize</b> () const </td></tr>
+<tr class="separator:a9a7c62ba442da367c22fdcc477eecc55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27ccfa2654a5c6cf0bf7efe453686e55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27ccfa2654a5c6cf0bf7efe453686e55"></a>
+virtual const Record &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>sample</b> () const </td></tr>
+<tr class="separator:a27ccfa2654a5c6cf0bf7efe453686e55 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c1f66e9fa9ff8cfddc984de18a6c79 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88c1f66e9fa9ff8cfddc984de18a6c79"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a88c1f66e9fa9ff8cfddc984de18a6c79 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae15c0c4720f0a070fcfc3416c1449a97 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:ae15c0c4720f0a070fcfc3416c1449a97 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cad630361426ef44d7eec3983eb5138 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cad630361426ef44d7eec3983eb5138"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_prefetch</b> (bool prefetch)</td></tr>
+<tr class="separator:a1cad630361426ef44d7eec3983eb5138 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e18bde747d349aff7ea7dc3a835c7fc inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e18bde747d349aff7ea7dc3a835c7fc"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:a7e18bde747d349aff7ea7dc3a835c7fc inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31b0158c549f2671ba18e91964540ab8 inherit pub_methods_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31b0158c549f2671ba18e91964540ab8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Prefetching</b> (bool training)</td></tr>
+<tr class="separator:a31b0158c549f2671ba18e91964540ab8 inherit pub_methods_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1DataLayer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1DataLayer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td></tr>
+<tr class="memitem:aa056218d817d9f7e3a1134bc720ee1f4 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa056218d817d9f7e3a1134bc720ee1f4"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_set_</b></td></tr>
+<tr class="separator:aa056218d817d9f7e3a1134bc720ee1f4 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3e8b9fd61209735e006d88e718eacce inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3e8b9fd61209735e006d88e718eacce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_</b></td></tr>
+<tr class="separator:ab3e8b9fd61209735e006d88e718eacce inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d074d1bb6c8c07dc88177c8f1a1839e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d074d1bb6c8c07dc88177c8f1a1839e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>random_skip_</b></td></tr>
+<tr class="separator:a8d074d1bb6c8c07dc88177c8f1a1839e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2e2868a9b7baee2e0edc9c97f4508c2 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2e2868a9b7baee2e0edc9c97f4508c2"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize_</b></td></tr>
+<tr class="separator:ae2e2868a9b7baee2e0edc9c97f4508c2 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af395ff4d15be91a719464f4bad109bb8 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af395ff4d15be91a719464f4bad109bb8"></a>
+Record&#160;</td><td class="memItemRight" valign="bottom"><b>sample_</b></td></tr>
+<tr class="separator:af395ff4d15be91a719464f4bad109bb8 inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8081b038aa2d5b07bf547f72db61f6e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8081b038aa2d5b07bf547f72db61f6e"></a>
+vector&lt; Record &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>records_</b></td></tr>
+<tr class="separator:ab8081b038aa2d5b07bf547f72db61f6e inherit pro_attribs_classsinga_1_1DataLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a715e5072cbf8897531f88bb681698081"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LMDBDataLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1DataLayer.html#aad95cbeac929cdb9eeb7fb6e7996ac26">singa::DataLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LMDBDataLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LMDBDataLayer.png b/api/classsinga_1_1LMDBDataLayer.png
new file mode 100644
index 0000000..639c981
Binary files /dev/null and b/api/classsinga_1_1LMDBDataLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LRNLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LRNLayer-members.html b/api/classsinga_1_1LRNLayer-members.html
new file mode 100644
index 0000000..117db48
--- /dev/null
+++ b/api/classsinga_1_1LRNLayer-members.html
@@ -0,0 +1,165 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LRNLayer.html">LRNLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::LRNLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html#a3212cb3a4061c9a0e71ddaf59031b38a">alpha_</a></td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html#ad957558ffc7cdd95f9cfbf02d63de97c">batchsize_</a></td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>beta_</b> (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>channels_</b> (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0"><td class="entry"><b>height_</b> (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>knorm_</b> (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html#aa3dbc36c87d14189b777c909d661a4a4">lsize_</a></td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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"><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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>norm_</b> (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1LRNLayer.html#aeec95bd635930c4d6b028119357fb0a1">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html#a1d272777844aee450b00ecb6a52ba49f">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>width_</b> (defined in <a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LRNLayer.html">singa::LRNLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[31/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DropoutLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DropoutLayer.html b/api/classsinga_1_1DropoutLayer.html
new file mode 100644
index 0000000..27ed4dd
--- /dev/null
+++ b/api/classsinga_1_1DropoutLayer.html
@@ -0,0 +1,376 @@
+<!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.6"/>
+<title>Apache SINGA: singa::DropoutLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1DropoutLayer.html">DropoutLayer</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_1DropoutLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::DropoutLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::DropoutLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1DropoutLayer.png" usemap="#singa::DropoutLayer_map" alt=""/>
+  <map id="singa::DropoutLayer_map" name="singa::DropoutLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,126,24"/>
+</map>
+ </div></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:a3b2016cbb63ea661e3abef8dd0b392c9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DropoutLayer.html#a3b2016cbb63ea661e3abef8dd0b392c9">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a3b2016cbb63ea661e3abef8dd0b392c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a3b2016cbb63ea661e3abef8dd0b392c9">More...</a><br/></td></tr>
+<tr class="separator:a3b2016cbb63ea661e3abef8dd0b392c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51b6005a831bf92b3ed5107b96efe5e1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DropoutLayer.html#a51b6005a831bf92b3ed5107b96efe5e1">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a51b6005a831bf92b3ed5107b96efe5e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a51b6005a831bf92b3ed5107b96efe5e1">More...</a><br/></td></tr>
+<tr class="separator:a51b6005a831bf92b3ed5107b96efe5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a284f9aaeb0fbfd0f12ea6cf95831d157"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a284f9aaeb0fbfd0f12ea6cf95831d157"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a284f9aaeb0fbfd0f12ea6cf95831d157"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ade228f0034c24f38a8104171945c30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ade228f0034c24f38a8104171945c30"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a2ade228f0034c24f38a8104171945c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:abb2fb991637bfff51c3e7046ff3e94f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb2fb991637bfff51c3e7046ff3e94f6"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>pdrop_</b></td></tr>
+<tr class="separator:abb2fb991637bfff51c3e7046ff3e94f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4689f8a76475532b05d77eb6a54c163"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4689f8a76475532b05d77eb6a54c163"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mask_</b></td></tr>
+<tr class="separator:af4689f8a76475532b05d77eb6a54c163"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a3b2016cbb63ea661e3abef8dd0b392c9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DropoutLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a51b6005a831bf92b3ed5107b96efe5e1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DropoutLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DropoutLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DropoutLayer.png b/api/classsinga_1_1DropoutLayer.png
new file mode 100644
index 0000000..c3b005d
Binary files /dev/null and b/api/classsinga_1_1DropoutLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1InnerProductLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1InnerProductLayer-members.html b/api/classsinga_1_1InnerProductLayer-members.html
new file mode 100644
index 0000000..389bd17
--- /dev/null
+++ b/api/classsinga_1_1InnerProductLayer-members.html
@@ -0,0 +1,156 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1InnerProductLayer.html">InnerProductLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::InnerProductLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html#ae8f82011418b1e9c2c2f4c11d358c141">connection_type</a>(int k) const </td><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html#acb8362b53f2d515c166af413d708d4d0">GetParams</a>()</td><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1InnerProductLayer.html#aa63806b1ded9d752350ac01fb3a3aafb">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html#a5cb033a8fde53340e58d7408befc6698">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1InnerProductLayer.html">singa::InnerProductLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[07/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1tuple_3_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1tuple_3_4.html b/api/classstd_1_1tr1_1_1tuple_3_4.html
new file mode 100644
index 0000000..7b0219d
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1tuple_3_4.html
@@ -0,0 +1,119 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::tuple&lt;&gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1tuple_3_4.html">tuple<></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1tuple_3_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::tuple&lt;&gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:aa857599acb126134e29dc5e53fd9d1a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa857599acb126134e29dc5e53fd9d1a7"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>tuple</b> (const <a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;)</td></tr>
+<tr class="separator:aa857599acb126134e29dc5e53fd9d1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93ddab6f662662fc49635608619150c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93ddab6f662662fc49635608619150c8"></a>
+<a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classstd_1_1tr1_1_1tuple.html">tuple</a> &amp;)</td></tr>
+<tr class="separator:a93ddab6f662662fc49635608619150c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1AssertionResult-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1AssertionResult-members.html b/api/classtesting_1_1AssertionResult-members.html
new file mode 100644
index 0000000..be678c3
--- /dev/null
+++ b/api/classtesting_1_1AssertionResult-members.html
@@ -0,0 +1,114 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::AssertionResult Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AssertionResult</b>(const AssertionResult &amp;other) (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AssertionResult</b>(bool success) (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</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>failure_message</b>() const  (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>message</b>() const  (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator bool</b>() const  (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator!</b>() const  (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const T &amp;value) (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;&lt;</b>(::std::ostream &amp;(*basic_manipulator)(::std::ostream &amp;stream)) (defined in <a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1AssertionResult.html">testing::AssertionResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1AssertionResult.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1AssertionResult.html b/api/classtesting_1_1AssertionResult.html
new file mode 100644
index 0000000..9186f0e
--- /dev/null
+++ b/api/classtesting_1_1AssertionResult.html
@@ -0,0 +1,139 @@
+<!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.6"/>
+<title>Apache SINGA: testing::AssertionResult 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1AssertionResult-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::AssertionResult Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a27788116f03f90aec4daf592fd809ead"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27788116f03f90aec4daf592fd809ead"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AssertionResult</b> (const <a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a> &amp;other)</td></tr>
+<tr class="separator:a27788116f03f90aec4daf592fd809ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade695178c05c4b2f82e92930c912fc25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade695178c05c4b2f82e92930c912fc25"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AssertionResult</b> (bool success)</td></tr>
+<tr class="separator:ade695178c05c4b2f82e92930c912fc25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af85b7852e6399467cd74df539810abcd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af85b7852e6399467cd74df539810abcd"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>operator bool</b> () const </td></tr>
+<tr class="separator:af85b7852e6399467cd74df539810abcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85301ba52aa1efe89b79d1e3b59160cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85301ba52aa1efe89b79d1e3b59160cd"></a>
+<a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator!</b> () const </td></tr>
+<tr class="separator:a85301ba52aa1efe89b79d1e3b59160cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab20c91eba13e20f1b4ad89e3d15f69a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab20c91eba13e20f1b4ad89e3d15f69a8"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>message</b> () const </td></tr>
+<tr class="separator:ab20c91eba13e20f1b4ad89e3d15f69a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae54fa82506c507a9dbc0f85d2cec652a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae54fa82506c507a9dbc0f85d2cec652a"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>failure_message</b> () const </td></tr>
+<tr class="separator:ae54fa82506c507a9dbc0f85d2cec652a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3230efa81aafe7c61f5fb878cfa39e91"><td class="memTemplParams" colspan="2"><a class="anchor" id="a3230efa81aafe7c61f5fb878cfa39e91"></a>
+template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a3230efa81aafe7c61f5fb878cfa39e91"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const T &amp;value)</td></tr>
+<tr class="separator:a3230efa81aafe7c61f5fb878cfa39e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43ae8a260843ce2ff3dc9af262672b8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a43ae8a260843ce2ff3dc9af262672b8b"></a>
+<a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (::std::ostream &amp;(*basic_manipulator)(::std::ostream &amp;stream))</td></tr>
+<tr class="separator:a43ae8a260843ce2ff3dc9af262672b8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1EmptyTestEventListener-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1EmptyTestEventListener-members.html b/api/classtesting_1_1EmptyTestEventListener-members.html
new file mode 100644
index 0000000..7b38669
--- /dev/null
+++ b/api/classtesting_1_1EmptyTestEventListener-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">EmptyTestEventListener</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::EmptyTestEventListener Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnEnvironmentsSetUpEnd</b>(const UnitTest &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnEnvironmentsSetUpStart</b>(const UnitTest &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</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>OnEnvironmentsTearDownEnd</b>(const UnitTest &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnEnvironmentsTearDownStart</b>(const UnitTest &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</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>OnTestCaseEnd</b>(const TestCase &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestCaseStart</b>(const TestCase &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</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>OnTestEnd</b>(const TestInfo &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestIterationEnd</b>(const UnitTest &amp;, int) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</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>OnTestIterationStart</b>(const UnitTest &amp;, int) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestPartResult</b>(const TestPartResult &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</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>OnTestProgramEnd</b>(const UnitTest &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestProgramStart</b>(const UnitTest &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</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>OnTestStart</b>(const TestInfo &amp;) (defined in <a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">testing::EmptyTestEventListener</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~TestEventListener</b>() (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1EmptyTestEventListener.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1EmptyTestEventListener.html b/api/classtesting_1_1EmptyTestEventListener.html
new file mode 100644
index 0000000..5873487
--- /dev/null
+++ b/api/classtesting_1_1EmptyTestEventListener.html
@@ -0,0 +1,162 @@
+<!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.6"/>
+<title>Apache SINGA: testing::EmptyTestEventListener 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">EmptyTestEventListener</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1EmptyTestEventListener-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::EmptyTestEventListener Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::EmptyTestEventListener:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1EmptyTestEventListener.png" usemap="#testing::EmptyTestEventListener_map" alt=""/>
+  <map id="testing::EmptyTestEventListener_map" name="testing::EmptyTestEventListener_map">
+<area href="classtesting_1_1TestEventListener.html" alt="testing::TestEventListener" shape="rect" coords="0,0,239,24"/>
+<area href="classtesting_1_1internal_1_1XmlUnitTestResultPrinter.html" alt="testing::internal::XmlUnitTestResultPrinter" shape="rect" coords="0,112,239,136"/>
+</map>
+ </div></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:aa3847c8a3c22d8d69a6006dfdd6589fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3847c8a3c22d8d69a6006dfdd6589fc"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestProgramStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;)</td></tr>
+<tr class="separator:aa3847c8a3c22d8d69a6006dfdd6589fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836f05829855dc60d13ba99ad712c0dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836f05829855dc60d13ba99ad712c0dd"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestIterationStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;, int)</td></tr>
+<tr class="separator:a836f05829855dc60d13ba99ad712c0dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a156d1965248fbdced6aabacadfa2d63f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a156d1965248fbdced6aabacadfa2d63f"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsSetUpStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;)</td></tr>
+<tr class="separator:a156d1965248fbdced6aabacadfa2d63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc481c6648d15d4242245195a06f5aa0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc481c6648d15d4242245195a06f5aa0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsSetUpEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;)</td></tr>
+<tr class="separator:abc481c6648d15d4242245195a06f5aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4707ed9cc7ace5241bc8ccc4051209b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4707ed9cc7ace5241bc8ccc4051209b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestCaseStart</b> (const <a class="el" href="classtesting_1_1TestCase.html">TestCase</a> &amp;)</td></tr>
+<tr class="separator:ae4707ed9cc7ace5241bc8ccc4051209b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84fa74cc9ba742f9f847ea405ca84e5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84fa74cc9ba742f9f847ea405ca84e5e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestStart</b> (const <a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> &amp;)</td></tr>
+<tr class="separator:a84fa74cc9ba742f9f847ea405ca84e5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59e7f7d9f2e2d089a6e8c1e2577f4718"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59e7f7d9f2e2d089a6e8c1e2577f4718"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestPartResult</b> (const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;)</td></tr>
+<tr class="separator:a59e7f7d9f2e2d089a6e8c1e2577f4718"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd58d21005f0d0d0399fb114627545d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd58d21005f0d0d0399fb114627545d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestEnd</b> (const <a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> &amp;)</td></tr>
+<tr class="separator:afd58d21005f0d0d0399fb114627545d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bec703158283104c4298f7d8a528515"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bec703158283104c4298f7d8a528515"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestCaseEnd</b> (const <a class="el" href="classtesting_1_1TestCase.html">TestCase</a> &amp;)</td></tr>
+<tr class="separator:a6bec703158283104c4298f7d8a528515"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00fa1a4ea5831e20746188414268e7c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00fa1a4ea5831e20746188414268e7c6"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsTearDownStart</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;)</td></tr>
+<tr class="separator:a00fa1a4ea5831e20746188414268e7c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea64c83c415b33a4c0b0239bafd1438d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea64c83c415b33a4c0b0239bafd1438d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnEnvironmentsTearDownEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;)</td></tr>
+<tr class="separator:aea64c83c415b33a4c0b0239bafd1438d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2253e5a18b3cf7bccd349567a252209d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2253e5a18b3cf7bccd349567a252209d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestIterationEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;, int)</td></tr>
+<tr class="separator:a2253e5a18b3cf7bccd349567a252209d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0abcc02bd2331a2e29ad6f4d9daf2a32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0abcc02bd2331a2e29ad6f4d9daf2a32"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnTestProgramEnd</b> (const <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> &amp;)</td></tr>
+<tr class="separator:a0abcc02bd2331a2e29ad6f4d9daf2a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1EmptyTestEventListener.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1EmptyTestEventListener.png b/api/classtesting_1_1EmptyTestEventListener.png
new file mode 100644
index 0000000..c2eeda8
Binary files /dev/null and b/api/classtesting_1_1EmptyTestEventListener.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Environment-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Environment-members.html b/api/classtesting_1_1Environment-members.html
new file mode 100644
index 0000000..8aaa1af
--- /dev/null
+++ b/api/classtesting_1_1Environment-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1Environment.html">Environment</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::Environment Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1Environment.html">testing::Environment</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SetUp</b>() (defined in <a class="el" href="classtesting_1_1Environment.html">testing::Environment</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Environment.html">testing::Environment</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TearDown</b>() (defined in <a class="el" href="classtesting_1_1Environment.html">testing::Environment</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Environment.html">testing::Environment</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>~Environment</b>() (defined in <a class="el" href="classtesting_1_1Environment.html">testing::Environment</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Environment.html">testing::Environment</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Environment.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Environment.html b/api/classtesting_1_1Environment.html
new file mode 100644
index 0000000..4bc3bf3
--- /dev/null
+++ b/api/classtesting_1_1Environment.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<title>Apache SINGA: testing::Environment 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1Environment.html">Environment</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1Environment-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::Environment Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a1bf8cafaa9d4eba9feb98655ee434eb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bf8cafaa9d4eba9feb98655ee434eb3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>SetUp</b> ()</td></tr>
+<tr class="separator:a1bf8cafaa9d4eba9feb98655ee434eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a039bdaa705c46b9b88234cf4d3bb6254"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a039bdaa705c46b9b88234cf4d3bb6254"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>TearDown</b> ()</td></tr>
+<tr class="separator:a039bdaa705c46b9b88234cf4d3bb6254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Message-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Message-members.html b/api/classtesting_1_1Message-members.html
new file mode 100644
index 0000000..6cd2f7e
--- /dev/null
+++ b/api/classtesting_1_1Message-members.html
@@ -0,0 +1,117 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1Message.html">Message</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::Message Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1Message.html">testing::Message</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetString</b>() const  (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Message</b>() (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Message</b>(const Message &amp;msg) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Message</b>(const char *str) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</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>operator&lt;&lt;</b>(const T &amp;val) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;&lt;</b>(T *const &amp;pointer) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(BasicNarrowIoManip val) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;&lt;</b>(bool b) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const wchar_t *wide_c_str) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;&lt;</b>(wchar_t *wide_c_str) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b>(const ::std::wstring &amp;wstr) (defined in <a class="el" href="classtesting_1_1Message.html">testing::Message</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Message.html">testing::Message</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Message.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Message.html b/api/classtesting_1_1Message.html
new file mode 100644
index 0000000..7553b60
--- /dev/null
+++ b/api/classtesting_1_1Message.html
@@ -0,0 +1,146 @@
+<!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.6"/>
+<title>Apache SINGA: testing::Message 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1Message.html">Message</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1Message-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::Message Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:ac126e24804817a053bebba0920d94a11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac126e24804817a053bebba0920d94a11"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Message</b> (const <a class="el" href="classtesting_1_1Message.html">Message</a> &amp;msg)</td></tr>
+<tr class="separator:ac126e24804817a053bebba0920d94a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9de694ca239486809fc99fbbea8ac21d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9de694ca239486809fc99fbbea8ac21d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Message</b> (const char *str)</td></tr>
+<tr class="separator:a9de694ca239486809fc99fbbea8ac21d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e0e71be52d54c20a75a55fca812721f"><td class="memTemplParams" colspan="2"><a class="anchor" id="a2e0e71be52d54c20a75a55fca812721f"></a>
+template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2e0e71be52d54c20a75a55fca812721f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const T &amp;val)</td></tr>
+<tr class="separator:a2e0e71be52d54c20a75a55fca812721f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3ab685879958f90d2d8cd5b68d10c34"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa3ab685879958f90d2d8cd5b68d10c34"></a>
+template&lt;typename T &gt; </td></tr>
+<tr class="memitem:aa3ab685879958f90d2d8cd5b68d10c34"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator&lt;&lt;</b> (T *const &amp;pointer)</td></tr>
+<tr class="separator:aa3ab685879958f90d2d8cd5b68d10c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a71a1c1c8ea52de5852d75483d41453"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a71a1c1c8ea52de5852d75483d41453"></a>
+<a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (BasicNarrowIoManip val)</td></tr>
+<tr class="separator:a3a71a1c1c8ea52de5852d75483d41453"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e1e04f23b1bdfe18adfd59928296346"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e1e04f23b1bdfe18adfd59928296346"></a>
+<a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (bool b)</td></tr>
+<tr class="separator:a3e1e04f23b1bdfe18adfd59928296346"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0db9c22535b28bc863bfd0a1fdf7e14"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0db9c22535b28bc863bfd0a1fdf7e14"></a>
+<a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const wchar_t *wide_c_str)</td></tr>
+<tr class="separator:ac0db9c22535b28bc863bfd0a1fdf7e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1d3a041ac4bb9c929ee746b31a13d6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1d3a041ac4bb9c929ee746b31a13d6a"></a>
+<a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (wchar_t *wide_c_str)</td></tr>
+<tr class="separator:ac1d3a041ac4bb9c929ee746b31a13d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0feb54e52c1c27786ad67e93d4356774"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0feb54e52c1c27786ad67e93d4356774"></a>
+<a class="el" href="classtesting_1_1Message.html">Message</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (const ::std::wstring &amp;wstr)</td></tr>
+<tr class="separator:a0feb54e52c1c27786ad67e93d4356774"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe8c1b7584aa670dd0e2413e8317a937"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe8c1b7584aa670dd0e2413e8317a937"></a>
+std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetString</b> () const </td></tr>
+<tr class="separator:abe8c1b7584aa670dd0e2413e8317a937"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[28/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LRNLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LRNLayer.html b/api/classsinga_1_1LRNLayer.html
new file mode 100644
index 0000000..6001fff
--- /dev/null
+++ b/api/classsinga_1_1LRNLayer.html
@@ -0,0 +1,394 @@
+<!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.6"/>
+<title>Apache SINGA: singa::LRNLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LRNLayer.html">LRNLayer</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_1LRNLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::LRNLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::LRNLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1LRNLayer.png" usemap="#singa::LRNLayer_map" alt=""/>
+  <map id="singa::LRNLayer_map" name="singa::LRNLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,105,24"/>
+</map>
+ </div></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:aeec95bd635930c4d6b028119357fb0a1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LRNLayer.html#aeec95bd635930c4d6b028119357fb0a1">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aeec95bd635930c4d6b028119357fb0a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local Response Normalization edge b_i=a_i/x_i^beta x_i=knorm+alpha*{j=max(0,i-n/2}^{min(N,i+n/2}(a_j)^2 n is size of local response area.  <a href="#aeec95bd635930c4d6b028119357fb0a1">More...</a><br/></td></tr>
+<tr class="separator:aeec95bd635930c4d6b028119357fb0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d272777844aee450b00ecb6a52ba49f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LRNLayer.html#a1d272777844aee450b00ecb6a52ba49f">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a1d272777844aee450b00ecb6a52ba49f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a1d272777844aee450b00ecb6a52ba49f">More...</a><br/></td></tr>
+<tr class="separator:a1d272777844aee450b00ecb6a52ba49f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83d588254b99293fda6c7dfafaa5ba2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83d588254b99293fda6c7dfafaa5ba2d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a83d588254b99293fda6c7dfafaa5ba2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a370f9460c1fa33168e72e6e443521f8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a370f9460c1fa33168e72e6e443521f8f"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a370f9460c1fa33168e72e6e443521f8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:ad957558ffc7cdd95f9cfbf02d63de97c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad957558ffc7cdd95f9cfbf02d63de97c"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LRNLayer.html#ad957558ffc7cdd95f9cfbf02d63de97c">batchsize_</a></td></tr>
+<tr class="memdesc:ad957558ffc7cdd95f9cfbf02d63de97c"><td class="mdescLeft">&#160;</td><td class="mdescRight">shape of the bottom layer feature <br/></td></tr>
+<tr class="separator:ad957558ffc7cdd95f9cfbf02d63de97c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5477d199c10594bb106e5afbc38ccb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5477d199c10594bb106e5afbc38ccb2"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>channels_</b></td></tr>
+<tr class="separator:aa5477d199c10594bb106e5afbc38ccb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac837201a73760badb785cb8c61eeee65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac837201a73760badb785cb8c61eeee65"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>height_</b></td></tr>
+<tr class="separator:ac837201a73760badb785cb8c61eeee65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf8af75deab0ca6a33625f9c7a9462fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf8af75deab0ca6a33625f9c7a9462fb"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>width_</b></td></tr>
+<tr class="separator:adf8af75deab0ca6a33625f9c7a9462fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3dbc36c87d14189b777c909d661a4a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3dbc36c87d14189b777c909d661a4a4"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LRNLayer.html#aa3dbc36c87d14189b777c909d661a4a4">lsize_</a></td></tr>
+<tr class="memdesc:aa3dbc36c87d14189b777c909d661a4a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">size local response (neighbor) area <br/></td></tr>
+<tr class="separator:aa3dbc36c87d14189b777c909d661a4a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3212cb3a4061c9a0e71ddaf59031b38a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3212cb3a4061c9a0e71ddaf59031b38a"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LRNLayer.html#a3212cb3a4061c9a0e71ddaf59031b38a">alpha_</a></td></tr>
+<tr class="memdesc:a3212cb3a4061c9a0e71ddaf59031b38a"><td class="mdescLeft">&#160;</td><td class="mdescRight">hyper-parameter <br/></td></tr>
+<tr class="separator:a3212cb3a4061c9a0e71ddaf59031b38a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8b03629ce6ee967f0393eb45c9abec5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8b03629ce6ee967f0393eb45c9abec5"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>beta_</b></td></tr>
+<tr class="separator:aa8b03629ce6ee967f0393eb45c9abec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7fdac0b82199e648a36dccd5617fc93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7fdac0b82199e648a36dccd5617fc93"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>knorm_</b></td></tr>
+<tr class="separator:ab7fdac0b82199e648a36dccd5617fc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa908d3f5d110f6af2a3a6e3fda748029"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa908d3f5d110f6af2a3a6e3fda748029"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>norm_</b></td></tr>
+<tr class="separator:aa908d3f5d110f6af2a3a6e3fda748029"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aeec95bd635930c4d6b028119357fb0a1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LRNLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local Response Normalization edge b_i=a_i/x_i^beta x_i=knorm+alpha*{j=max(0,i-n/2}^{min(N,i+n/2}(a_j)^2 n is size of local response area. </p>
+<p>a_i, the activation (after ReLU) of a neuron convolved with the i-th kernel. b_i, the neuron after normalization, N is the total num of kernels </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1d272777844aee450b00ecb6a52ba49f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LRNLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LRNLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LRNLayer.png b/api/classsinga_1_1LRNLayer.png
new file mode 100644
index 0000000..215ea3a
Binary files /dev/null and b/api/classsinga_1_1LRNLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LabelLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LabelLayer-members.html b/api/classsinga_1_1LabelLayer-members.html
new file mode 100644
index 0000000..736f918
--- /dev/null
+++ b/api/classsinga_1_1LabelLayer-members.html
@@ -0,0 +1,157 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LabelLayer.html">LabelLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::LabelLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1LabelLayer.html">singa::LabelLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (defined in <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#abc76f037afc13a17ab07082cfae945de">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_1LabelLayer.html#a6fffae5ecc9a790c70510efec831c51f">ParseRecords</a>(bool training, const vector&lt; Record &gt; &amp;records, Blob&lt; float &gt; *blob)</td><td class="entry"><a class="el" href="classsinga_1_1LabelLayer.html">singa::LabelLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a>(bool prefetch)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1LabelLayer.html#aa7cc5abb98cbe0d7066f8336dca384e2">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1LabelLayer.html">singa::LabelLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">singa::ParserLayer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[48/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/annotated.html
----------------------------------------------------------------------
diff --git a/api/annotated.html b/api/annotated.html
new file mode 100644
index 0000000..a8943c5
--- /dev/null
+++ b/api/annotated.html
@@ -0,0 +1,537 @@
+<!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.6"/>
+<title>Apache SINGA: Class 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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 class="header">
+  <div class="headertitle">
+<div class="title">Class List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow.html" target="_self">mshadow</a></td><td class="desc">Namespace for mshadow </td></tr>
+<tr id="row_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1expr.html" target="_self">expr</a></td><td class="desc">Namespace for abstract expressions and expressions template, have no dependecy on <a class="el" href="tensor_8h.html" title="header file of tensor data structure and functions covention: this lib requires explicit memory alloc...">tensor.h</a>, These data structure takes no charge in computations, they are only used to define operations and represent expression in a symbolic way </td></tr>
+<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1expr_1_1type.html" target="_self">type</a></td><td class="desc">Type of expressions </td></tr>
+<tr id="row_0_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpEngine.html" target="_self">ExpEngine</a></td><td class="desc">Expression engine that actually interprets these expressions this is a function template that needed to be implemented for specific expressions </td></tr>
+<tr id="row_0_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html" target="_self">ContainerExp</a></td><td class="desc">Base class of all variables, that can be assigned to values </td></tr>
+<tr id="row_0_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Exp.html" target="_self">Exp</a></td><td class="desc">Base class for expression </td></tr>
+<tr id="row_0_0_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ScalarExp.html" target="_self">ScalarExp</a></td><td class="desc">Scalar expression </td></tr>
+<tr id="row_0_0_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1TransposeExp.html" target="_self">TransposeExp</a></td><td class="desc">Represent a transpose expression of a container </td></tr>
+<tr id="row_0_0_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1DotExp.html" target="_self">DotExp</a></td><td class="desc">Matrix multiplication expression dot( lhs[.T], rhs[.T] ) </td></tr>
+<tr id="row_0_0_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1BinaryMapExp.html" target="_self">BinaryMapExp</a></td><td class="desc">Binary map expression lhs [op] rhs </td></tr>
+<tr id="row_0_0_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1UnaryMapExp.html" target="_self">UnaryMapExp</a></td><td class="desc">Unary map expression op(src) </td></tr>
+<tr id="row_0_0_9_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1MakeTensorExp.html" target="_self">MakeTensorExp</a></td><td class="desc">General class that allows extension that makes tensors of some shape </td></tr>
+<tr id="row_0_0_10_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1Plan.html" target="_self">Plan</a></td><td class="desc">This part of code gives plan that can be used to carry out execution </td></tr>
+<tr id="row_0_0_11_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html" target="_self">Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_12_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html" target="_self">Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_13_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html" target="_self">Plan&lt; ScalarExp &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_14_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html" target="_self">Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html" target="_self">Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01MakeTensorExp_3_01SubType_00_01SrcExp_00_01dim_01_4_01_4.html" target="_self">Plan&lt; MakeTensorExp&lt; SubType, SrcExp, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpInfo.html" target="_self">ExpInfo</a></td><td class="desc">Static type inference template, used to get the dimension of each expression, if ExpInfo&lt;E&gt;::kDim == -1, this means here are mismatch in expression if ( ExpInfo&lt;E&gt;::kDevMask &amp; <a class="el" href="structmshadow_1_1cpu.html#a57f74b500825e21c0c246ad5b4e5016b" title="device flag number, identifies this device ">cpu::kDevMask</a> ) != 0, this means this expression can be assigned to cpu </td></tr>
+<tr id="row_0_0_18_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01ScalarExp_01_4.html" target="_self">ExpInfo&lt; ScalarExp &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_19_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html" target="_self">ExpInfo&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_20_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01MakeTensorExp_3_01T_00_01SrcExp_00_01dim_01_4_01_4.html" target="_self">ExpInfo&lt; MakeTensorExp&lt; T, SrcExp, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_21_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html" target="_self">ExpInfo&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_22_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html" target="_self">ExpInfo&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1TypeCheck.html" target="_self">TypeCheck</a></td><td class="desc">Template to do type check </td></tr>
+<tr id="row_0_0_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1TypeCheckPass.html" target="_self">TypeCheckPass</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1TypeCheckPass_3_01false_01_4.html" target="_self">TypeCheckPass&lt; false &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1TypeCheckPass_3_01true_01_4.html" target="_self">TypeCheckPass&lt; true &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck.html" target="_self">ShapeCheck</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01ScalarExp_01_4.html" target="_self">ShapeCheck&lt; dim, ScalarExp &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01Tensor_3_01Device_00_01dim_01_4_01_4.html" target="_self">ShapeCheck&lt; dim, Tensor&lt; Device, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01MakeTensorExp_3_01T_00_01SrcExp_00_01dim_01_4_01_4.html" target="_self">ShapeCheck&lt; dim, MakeTensorExp&lt; T, SrcExp, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html" target="_self">ShapeCheck&lt; dim, UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html" target="_self">ShapeCheck&lt; dim, BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1DotEngine.html" target="_self">DotEngine</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1BLASEngine.html" target="_self">BLASEngine</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1BLASEngine_3_01cpu_01_4.html" target="_self">BLASEngine&lt; cpu &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_36_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1BLASEngine_3_01gpu_01_4.html" target="_self">BLASEngine&lt; gpu &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_37_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1DotEngine_3_01SV_00_01xpu_00_012_00_012_00_012_00_01transpose__left_00_01transpose__right_01_4.html" target="_self">DotEngine&lt; SV, xpu, 2, 2, 2, transpose_left, transpose_right &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_38_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1DotEngine_3_01SV_00_01xpu_00_011_00_011_00_012_00_01false_00_01transpose__right_01_4.html" target="_self">DotEngine&lt; SV, xpu, 1, 1, 2, false, transpose_right &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_39_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1DotEngine_3_01SV_00_01xpu_00_012_00_011_00_011_00_01true_00_01false_01_4.html" target="_self">DotEngine&lt; SV, xpu, 2, 1, 1, true, false &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine.html" target="_self">ExpComplexEngine</a></td><td class="desc">Some engine that evaluate complex expression </td></tr>
+<tr id="row_0_0_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpEngine_3_01SV_00_01Tensor_3_01Device_00_01dim_01_4_01_4.html" target="_self">ExpEngine&lt; SV, Tensor&lt; Device, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine_3_01SV_00_01Device_00_01dim_00_01DotExp_3_01Tensor_3_0d2749ba7c02c3255b394f980e81ccfd3.html" target="_self">ExpComplexEngine&lt; SV, Device, dim, DotExp&lt; Tensor&lt; Device, ldim &gt;, Tensor&lt; Device, rdim &gt;, ltrans, rtrans &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Broadcast1DExp.html" target="_self">Broadcast1DExp</a></td><td class="desc">Broadcast Tensor1D into a higher dimension <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> input: <a class="el" href="structmshadow_1_1Tensor_3_01Device_00_011_01_4.html">Tensor&lt;Device,1&gt;</a>: ishape[0] output: Tensor&lt;Device,dimdst&gt; : oshape[dimcast] = ishape[0] </td></tr>
+<tr id="row_0_0_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1UnpackPatchToColXExp.html" target="_self">UnpackPatchToColXExp</a></td><td class="desc">Unpack local (overlap) patches of image to column of mat, can be used to implement convolution, this expression allow unpack of a batch this is a version support unpacking multiple images after getting unpacked mat, we can use: output = dot( weight, mat ) to get covolved results, the relations: </td></tr>
+<tr id="row_0_0_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1PackColToPatchXExp.html" target="_self">PackColToPatchXExp</a></td><td class="desc">Reverse operation of UnpackPatchToCol, used to backprop gradient back this is a version supporting multiple images </td></tr>
+<tr id="row_0_0_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ReshapeExp.html" target="_self">ReshapeExp</a></td><td class="desc">Reshape the content to another shape input: Tensor&lt;Device,dimsrc&gt;: ishape output: Tensor&lt;Device,dimdst&gt; ishape.Size() == oshape.Size() </td></tr>
+<tr id="row_0_0_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SwapAxisExp.html" target="_self">SwapAxisExp</a></td><td class="desc">Swap two axis of a tensor input: Tensor&lt;Device,dim&gt;: ishape output: Tensor&lt;Device,dimdst&gt; oshape[a1],oshape[a2] = ishape[a2],oshape[a1] </td></tr>
+<tr id="row_0_0_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ReduceTo1DExp.html" target="_self">ReduceTo1DExp</a></td><td class="desc">Reduction to 1 dimension tensor input: Tensor&lt;Device,k&gt;: ishape output: <a class="el" href="structmshadow_1_1Tensor_3_01Device_00_011_01_4.html">Tensor&lt;Device,1&gt;</a> shape[0] = ishape[dimkeep]; </td></tr>
+<tr id="row_0_0_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1PoolingExp.html" target="_self">PoolingExp</a></td><td class="desc">Pooling expression, do reduction over local patches of a image </td></tr>
+<tr id="row_0_0_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1UnPoolingExp.html" target="_self">UnPoolingExp</a></td><td class="desc">Unpooling expr reverse operation of pooling, used to pass gradient back </td></tr>
+<tr id="row_0_0_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1PaddingExp.html" target="_self">PaddingExp</a></td><td class="desc">Padding expression, pad a image with zeros </td></tr>
+<tr id="row_0_0_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1CroppingExp.html" target="_self">CroppingExp</a></td><td class="desc">Crop expression, cut off the boundary region, reverse operation of padding </td></tr>
+<tr id="row_0_0_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1MirroringExp.html" target="_self">MirroringExp</a></td><td class="desc">Mirror expression, mirror a image in width </td></tr>
+<tr id="row_0_0_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ChannelPoolingExp.html" target="_self">ChannelPoolingExp</a></td><td class="desc">Channel pooling expression, do reduction over (local nearby) channels, used to implement local response normalization </td></tr>
+<tr id="row_0_0_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine_3_01SV_00_01Device_00_011_00_01ReduceTo1DExp_3_01ETypeff38f24c2af0b97a027119d64099704c.html" target="_self">ExpComplexEngine&lt; SV, Device, 1, ReduceTo1DExp&lt; EType, Reducer, dimkeep &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine_3_01SV_00_01Device_00_011_00_01ReduceTo1DExp_3_01EType_00_01Reducer_00_010_01_4_01_4.html" target="_self">ExpComplexEngine&lt; SV, Device, 1, ReduceTo1DExp&lt; EType, Reducer, 0 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01Broadcast1DExp_3_01Device_00_01dimdst_00_01dimcast_01_4_01_4.html" target="_self">Plan&lt; Broadcast1DExp&lt; Device, dimdst, dimcast &gt; &gt;</a></td><td class="desc">Execution plan of <a class="el" href="structmshadow_1_1expr_1_1Broadcast1DExp.html" title="broadcast Tensor1D into a higher dimension Tensor input: Tensor&lt;Device,1&gt;: ishape[0] output: Tensor&lt;D...">Broadcast1DExp</a> </td></tr>
+<tr id="row_0_0_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01Broadcast1DExp_3_01Device_00_01dimdst_00_010_01_4_01_4.html" target="_self">Plan&lt; Broadcast1DExp&lt; Device, dimdst, 0 &gt; &gt;</a></td><td class="desc">Execution plan of <a class="el" href="structmshadow_1_1expr_1_1Broadcast1DExp.html" title="broadcast Tensor1D into a higher dimension Tensor input: Tensor&lt;Device,1&gt;: ishape[0] output: Tensor&lt;D...">Broadcast1DExp</a> </td></tr>
+<tr id="row_0_0_59_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01UnpackPatchToColXExp_3_01SrcExp_00_01srcdim_01_4_01_4.html" target="_self">Plan&lt; UnpackPatchToColXExp&lt; SrcExp, srcdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_60_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01PackColToPatchXExp_3_01Device_00_01dstdim_01_4_01_4.html" target="_self">Plan&lt; PackColToPatchXExp&lt; Device, dstdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_61_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01ReshapeExp_3_01SrcExp_00_01dimdst_00_01dimsrc_01_4_01_4.html" target="_self">Plan&lt; ReshapeExp&lt; SrcExp, dimdst, dimsrc &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_62_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01ReshapeExp_3_01SrcExp_00_01dimdst_00_011_01_4_01_4.html" target="_self">Plan&lt; ReshapeExp&lt; SrcExp, dimdst, 1 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_63_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01SwapAxisExp_3_01SrcExp_00_01dimsrc_00_01a1_00_01a2_01_4_01_4.html" target="_self">Plan&lt; SwapAxisExp&lt; SrcExp, dimsrc, a1, a2 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_64_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01SwapAxisExp_3_01SrcExp_00_01dimsrc_00_010_00_01a2_01_4_01_4.html" target="_self">Plan&lt; SwapAxisExp&lt; SrcExp, dimsrc, 0, a2 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_65_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01PoolingExp_3_01Reducer_00_01SrcExp_00_01srcdim_01_4_01_4.html" target="_self">Plan&lt; PoolingExp&lt; Reducer, SrcExp, srcdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_66_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01UnPoolingExp_3_01Reducer_00_01Device_01_4_01_4.html" target="_self">Plan&lt; UnPoolingExp&lt; Reducer, Device &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_67_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01PaddingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html" target="_self">Plan&lt; PaddingExp&lt; SrcExp, srcdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_68_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01CroppingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html" target="_self">Plan&lt; CroppingExp&lt; SrcExp, srcdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_69_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01MirroringExp_3_01SrcExp_00_01srcdim_01_4_01_4.html" target="_self">Plan&lt; MirroringExp&lt; SrcExp, srcdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_70_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01ChannelPoolingExp_3_01Reducer_00_01SrcExp_00_01srcdim_01_4_01_4.html" target="_self">Plan&lt; ChannelPoolingExp&lt; Reducer, SrcExp, srcdim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_71_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html" target="_self">SSECheck&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_72_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_012_00_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html" target="_self">SSEAlignCheck&lt; 2, Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_73_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html" target="_self">SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_74_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html" target="_self">SSEPlan</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_75_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html" target="_self">SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_76_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html" target="_self">SSEPlan&lt; ScalarExp &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_77_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html" target="_self">SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_78_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html" target="_self">SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_79_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSECheck.html" target="_self">SSECheck</a></td><td class="desc">Static check sse enable if a expression E can not be evaluated using sse, then kPass = false </td></tr>
+<tr id="row_0_0_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01ScalarExp_01_4.html" target="_self">SSECheck&lt; ScalarExp &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01Tensor_3_01cpu_00_01dim_01_4_01_4.html" target="_self">SSECheck&lt; Tensor&lt; cpu, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html" target="_self">SSECheck&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html" target="_self">SSECheck&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck.html" target="_self">SSEAlignCheck</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01ScalarExp_01_4.html" target="_self">SSEAlignCheck&lt; dim, ScalarExp &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01Tensor_3_01cpu_00_01dim_01_4_01_4.html" target="_self">SSEAlignCheck&lt; dim, Tensor&lt; cpu, dim &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html" target="_self">SSEAlignCheck&lt; dim, UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html" target="_self">SSEAlignCheck&lt; dim, BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1op.html" target="_self">op</a></td><td class="desc">Operations for algorithm </td></tr>
+<tr id="row_0_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1sigmoid.html" target="_self">sigmoid</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1sigmoid__grad.html" target="_self">sigmoid_grad</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1relu.html" target="_self">relu</a></td><td class="desc">Rectified Linear Operation </td></tr>
+<tr id="row_0_1_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1relu__grad.html" target="_self">relu_grad</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1tanh.html" target="_self">tanh</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1tanh__grad.html" target="_self">tanh_grad</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1softplus.html" target="_self">softplus</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1softplus__grad.html" target="_self">softplus_grad</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1bnll.html" target="_self">bnll</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1bnll__grad.html" target="_self">bnll_grad</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1square.html" target="_self">square</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1stanh.html" target="_self">stanh</a></td><td class="desc">Scaled tanh, hard code the scale factor </td></tr>
+<tr id="row_0_1_12_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1stanh__grad.html" target="_self">stanh_grad</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_13_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1threshold.html" target="_self">threshold</a></td><td class="desc">Used for generate Bernoulli mask </td></tr>
+<tr id="row_0_1_14_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1power.html" target="_self">power</a></td><td class="desc">Used for generate element of power </td></tr>
+<tr id="row_0_1_15_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1sqrtop.html" target="_self">sqrtop</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_16_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1mul.html" target="_self">mul</a></td><td class="desc">Mul operator </td></tr>
+<tr id="row_0_1_17_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1plus.html" target="_self">plus</a></td><td class="desc">Plus operator </td></tr>
+<tr id="row_0_1_18_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1minus.html" target="_self">minus</a></td><td class="desc">Minus operator </td></tr>
+<tr id="row_0_1_19_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1div.html" target="_self">div</a></td><td class="desc">Divide operator </td></tr>
+<tr id="row_0_1_20_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1right.html" target="_self">right</a></td><td class="desc">Get rhs </td></tr>
+<tr id="row_0_1_21_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1op_1_1identity.html" target="_self">identity</a></td><td class="desc">Identity function that maps a real number to it self </td></tr>
+<tr id="row_0_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_2_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1red.html" target="_self">red</a></td><td class="desc">Namespace for potential reducer operations </td></tr>
+<tr id="row_0_2_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1red_1_1sum.html" target="_self">sum</a></td><td class="desc">Sum reducer </td></tr>
+<tr id="row_0_2_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1red_1_1maximum.html" target="_self">maximum</a></td><td class="desc">Maximum reducer </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_3_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1sse2.html" target="_self">sse2</a></td><td class="desc">Namespace to support <a class="el" href="namespacemshadow_1_1sse2.html" title="namespace to support sse2 vectorization ">sse2</a> vectorization </td></tr>
+<tr id="row_0_3_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1FVec.html" target="_self">FVec</a></td><td class="desc">Float vector real type, used for vectorization </td></tr>
+<tr id="row_0_3_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1FVec_3_01float_01_4.html" target="_self">FVec&lt; float &gt;</a></td><td class="desc">Vector real type for float </td></tr>
+<tr id="row_0_3_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1FVec_3_01double_01_4.html" target="_self">FVec&lt; double &gt;</a></td><td class="desc">Vector real type for float </td></tr>
+<tr id="row_0_3_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1SSEOp.html" target="_self">SSEOp</a></td><td class="desc">Sse2 operator type of certain operator </td></tr>
+<tr id="row_0_3_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1plus_01_4.html" target="_self">SSEOp&lt; op::plus &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1minus_01_4.html" target="_self">SSEOp&lt; op::minus &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1mul_01_4.html" target="_self">SSEOp&lt; op::mul &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1div_01_4.html" target="_self">SSEOp&lt; op::div &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1identity_01_4.html" target="_self">SSEOp&lt; op::identity &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1Saver.html" target="_self">Saver</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sse2_1_1Saver_3_01sv_1_1saveto_00_01TFloat_01_4.html" target="_self">Saver&lt; sv::saveto, TFloat &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_4_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_4_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1sv.html" target="_self">sv</a></td><td class="desc">Namespace for savers </td></tr>
+<tr id="row_0_4_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sv_1_1saveto.html" target="_self">saveto</a></td><td class="desc">Save to saver: = </td></tr>
+<tr id="row_0_4_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sv_1_1plusto.html" target="_self">plusto</a></td><td class="desc">Save to saver: += </td></tr>
+<tr id="row_0_4_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sv_1_1minusto.html" target="_self">minusto</a></td><td class="desc">Minus to saver: -= </td></tr>
+<tr id="row_0_4_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sv_1_1multo.html" target="_self">multo</a></td><td class="desc">Multiply to saver: *= </td></tr>
+<tr id="row_0_4_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1sv_1_1divto.html" target="_self">divto</a></td><td class="desc">Divide to saver: /= </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_5_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_5_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacemshadow_1_1utils.html" target="_self">utils</a></td><td class="desc">Namespace for helper utils of the project </td></tr>
+<tr id="row_0_5_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1utils_1_1IStream.html" target="_self">IStream</a></td><td class="desc">Interface of stream I/O, used to serialize data, it is not restricted to only this interface in SaveBinary/LoadBinary mshadow accept all class that implements Read and Write </td></tr>
+<tr id="row_0_5_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1utils_1_1FileStream.html" target="_self">FileStream</a></td><td class="desc">Implementation of file i/o stream </td></tr>
+<tr id="row_0_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1Shape.html" target="_self">Shape</a></td><td class="desc"><a class="el" href="structmshadow_1_1Shape.html" title="shape of a tensor IMPORTANT NOTE: this shape is different from numpy.shape shape[0] gives the lowest ...">Shape</a> of a tensor IMPORTANT NOTE: this shape is different from numpy.shape shape[0] gives the lowest dimension, shape[dimension-1] gives the highest dimension shape[k] corresponds to k-th dimension of tensor </td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1cpu.html" target="_self">cpu</a></td><td class="desc">Device name CPU </td></tr>
+<tr id="row_0_8_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1gpu.html" target="_self">gpu</a></td><td class="desc">Device name CPU </td></tr>
+<tr id="row_0_9_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1Tensor.html" target="_self">Tensor</a></td><td class="desc">General tensor </td></tr>
+<tr id="row_0_10_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1Tensor_3_01Device_00_011_01_4.html" target="_self">Tensor&lt; Device, 1 &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_11_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1TensorContainer.html" target="_self">TensorContainer</a></td><td class="desc"><a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> container that does memory allocation and resize like STL, use it to save the lines of FreeSpace in class. Do not abuse it, efficiency can come from pre-allocation and no re-allocation </td></tr>
+<tr id="row_0_12_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1MapExpCPUEngine.html" target="_self">MapExpCPUEngine</a></td><td class="desc"></td></tr>
+<tr id="row_0_13_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1MapExpCPUEngine_3_01false_00_01SV_00_01dim_00_01E_00_01etype_01_4.html" target="_self">MapExpCPUEngine&lt; false, SV, dim, E, etype &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_14_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structmshadow_1_1MapExpCPUEngine_3_01true_00_01SV_00_01dim_00_01E_00_01etype_01_4.html" target="_self">MapExpCPUEngine&lt; true, SV, dim, E, etype &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_15_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1Random.html" target="_self">Random</a></td><td class="desc"><a class="el" href="classmshadow_1_1Random.html" title="random number generator ">Random</a> number generator </td></tr>
+<tr id="row_0_16_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html" target="_self">Random&lt; cpu &gt;</a></td><td class="desc">CPU random number generator </td></tr>
+<tr id="row_1_" class="even"><td class="entry"><img id="arr_1_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>singa</b></td><td class="desc"></td></tr>
+<tr id="row_1_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1BaseMsg.html" target="_self">BaseMsg</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1Msg.html" target="_self">Msg</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1Socket.html" target="_self">Socket</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1BasePoller.html" target="_self">BasePoller</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1Poller.html" target="_self">Poller</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1Dealer.html" target="_self">Dealer</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1Router.html" target="_self">Router</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1Layer.html" target="_self">Layer</a></td><td class="desc">Base layer class </td></tr>
+<tr id="row_1_8_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1BridgeSrcLayer.html" target="_self">BridgeSrcLayer</a></td><td class="desc">For sending data to layer on other threads which may resident on other nodes due to layer/data partition </td></tr>
+<tr id="row_1_9_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1BridgeDstLayer.html" target="_self">BridgeDstLayer</a></td><td class="desc">For recv data from layer on other threads which may resident on other nodes due to layer/data partiton </td></tr>
+<tr id="row_1_10_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1ConcateLayer.html" target="_self">ConcateLayer</a></td><td class="desc">Concate src layers on one dimension </td></tr>
+<tr id="row_1_11_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1DataLayer.html" target="_self">DataLayer</a></td><td class="desc">Base layer for prefetching records from local Shard, HDFS, lmdb, etc </td></tr>
+<tr id="row_1_12_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1SliceLayer.html" target="_self">SliceLayer</a></td><td class="desc">Slice this layer into multiple dst layers on one dimension </td></tr>
+<tr id="row_1_13_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1SplitLayer.html" target="_self">SplitLayer</a></td><td class="desc">Replciate this layer into multiple dst layers </td></tr>
+<tr id="row_1_14_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1LossLayer.html" target="_self">LossLayer</a></td><td class="desc">Loss layer to calculate loss and other metrics, e.g., precison </td></tr>
+<tr id="row_1_15_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1ParserLayer.html" target="_self">ParserLayer</a></td><td class="desc">Parse the input records into Blobs </td></tr>
+<tr id="row_1_16_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1ConvolutionLayer.html" target="_self">ConvolutionLayer</a></td><td class="desc">Convolution layer </td></tr>
+<tr id="row_1_17_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1DropoutLayer.html" target="_self">DropoutLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_18_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1InnerProductLayer.html" target="_self">InnerProductLayer</a></td><td class="desc">Fully connected layer </td></tr>
+<tr id="row_1_19_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1LabelLayer.html" target="_self">LabelLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_20_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1LRNLayer.html" target="_self">LRNLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_21_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1MnistImageLayer.html" target="_self">MnistImageLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_22_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1PoolingLayer.html" target="_self">PoolingLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_23_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1ReLULayer.html" target="_self">ReLULayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_24_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1SoftmaxLossLayer.html" target="_self">SoftmaxLossLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_25_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1RGBImageLayer.html" target="_self">RGBImageLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_26_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1ShardDataLayer.html" target="_self">ShardDataLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_27_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1LMDBDataLayer.html" target="_self">LMDBDataLayer</a></td><td class="desc"></td></tr>
+<tr id="row_1_28_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classsinga_1_1TanhLayer.html" target="_self">TanhLayer</a></td><td class="desc">This layer apply Tan function to neuron activations </td></tr>
+<tr id="row_1_29_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" 

<TRUNCATED>


[12/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SplitLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SplitLayer.html b/api/classsinga_1_1SplitLayer.html
new file mode 100644
index 0000000..d0e517d
--- /dev/null
+++ b/api/classsinga_1_1SplitLayer.html
@@ -0,0 +1,376 @@
+<!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.6"/>
+<title>Apache SINGA: singa::SplitLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SplitLayer.html">SplitLayer</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_1SplitLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::SplitLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Replciate this layer into multiple dst layers.  
+ <a href="classsinga_1_1SplitLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::SplitLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1SplitLayer.png" usemap="#singa::SplitLayer_map" alt=""/>
+  <map id="singa::SplitLayer_map" name="singa::SplitLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,105,24"/>
+</map>
+ </div></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:a5a03aaa4e7de6432b511fedb340b9250"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SplitLayer.html#a5a03aaa4e7de6432b511fedb340b9250">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a5a03aaa4e7de6432b511fedb340b9250"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a5a03aaa4e7de6432b511fedb340b9250">More...</a><br/></td></tr>
+<tr class="separator:a5a03aaa4e7de6432b511fedb340b9250"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b54c7a0f54190b476a676028f7cc4ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b54c7a0f54190b476a676028f7cc4ae"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SplitLayer.html#a7b54c7a0f54190b476a676028f7cc4ae">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a7b54c7a0f54190b476a676028f7cc4ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a7b54c7a0f54190b476a676028f7cc4ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a949028cd476e463b6893fb9ff6c7d664"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SplitLayer.html#a949028cd476e463b6893fb9ff6c7d664">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a949028cd476e463b6893fb9ff6c7d664"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a949028cd476e463b6893fb9ff6c7d664">More...</a><br/></td></tr>
+<tr class="separator:a949028cd476e463b6893fb9ff6c7d664"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07302f2a9661854daa2ca4d352e0c475"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07302f2a9661854daa2ca4d352e0c475"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a07302f2a9661854daa2ca4d352e0c475"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab47440fbff7130628323bc90c94f59fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab47440fbff7130628323bc90c94f59fe"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:ab47440fbff7130628323bc90c94f59fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>Replciate this layer into multiple dst layers. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5a03aaa4e7de6432b511fedb340b9250"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SplitLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a949028cd476e463b6893fb9ff6c7d664"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SplitLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SplitLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SplitLayer.png b/api/classsinga_1_1SplitLayer.png
new file mode 100644
index 0000000..e6bf61d
Binary files /dev/null and b/api/classsinga_1_1SplitLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1TanhLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1TanhLayer-members.html b/api/classsinga_1_1TanhLayer-members.html
new file mode 100644
index 0000000..9abf8ef
--- /dev/null
+++ b/api/classsinga_1_1TanhLayer-members.html
@@ -0,0 +1,156 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1TanhLayer.html">TanhLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::TanhLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1TanhLayer.html#ae2f5b0d2f2ac2f304324795cf46151ef">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1TanhLayer.html#ae828e79607c2abe9c0b73627b8ec0548">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1TanhLayer.html">singa::TanhLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[53/57] incubator-singa git commit: set base_path to github

Posted by wa...@apache.org.
set base_path to github


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/c15958ac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/c15958ac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/c15958ac

Branch: refs/heads/gh-pages
Commit: c15958ac1932f2d3c4d5131df891d77caa88ce70
Parents: d007dc6
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 20:19:39 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 20:19:39 2015 +0800

----------------------------------------------------------------------
 _config.yml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/c15958ac/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index c6fbf12..2376ac1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -54,7 +54,7 @@ JB :
   #   - When setting BASE_PATH it must be a valid url.
   #     This means always setting the protocol (http|https) or prefixing with "/"
   #
-  BASE_PATH :  "/incubator-singa" #http://www.comp.nus.edu.sg/~wangwei
+  BASE_PATH :  "http://nudles.github.io/incubator-singa" #http://www.comp.nus.edu.sg/~wangwei
 
   # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
   # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
@@ -69,11 +69,11 @@ JB :
   # These paths are to the main pages Jekyll-Bootstrap ships with.
   # Some JB helpers refer to these paths; change them here if needed.
   #
-  archive_path: /archive.html
-  categories_path : /categories.html
-  tags_path : /tags.html
-  atom_path : /atom.xml
-  rss_path : /rss.xml
+  #archive_path: /archive.html
+  #categories_path : /categories.html
+  #tags_path : /tags.html
+  #atom_path : /atom.xml
+  #rss_path : /rss.xml
 
   # Settings for comments helper
   # Set 'provider' to the comment provider you want to use.


[37/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BasePoller.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BasePoller.html b/api/classsinga_1_1BasePoller.html
new file mode 100644
index 0000000..2ef4081
--- /dev/null
+++ b/api/classsinga_1_1BasePoller.html
@@ -0,0 +1,165 @@
+<!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.6"/>
+<title>Apache SINGA: singa::BasePoller 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BasePoller.html">BasePoller</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_1BasePoller-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BasePoller 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::BasePoller:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BasePoller.png" usemap="#singa::BasePoller_map" alt=""/>
+  <map id="singa::BasePoller_map" name="singa::BasePoller_map">
+<area href="classsinga_1_1Poller.html" alt="singa::Poller" shape="rect" coords="0,56,109,80"/>
+</map>
+ </div></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:a268aa6e2738ad030f8da82964da4597c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a268aa6e2738ad030f8da82964da4597c"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BasePoller.html#a268aa6e2738ad030f8da82964da4597c">Add</a> (<a class="el" href="classsinga_1_1Socket.html">Socket</a> *socket)=0</td></tr>
+<tr class="memdesc:a268aa6e2738ad030f8da82964da4597c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a socket for polling; Multiple sockets can be polled together by adding them into the same poller. <br/></td></tr>
+<tr class="separator:a268aa6e2738ad030f8da82964da4597c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85777422b8d41fbc73829797f0332c5d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Socket.html">Socket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BasePoller.html#a85777422b8d41fbc73829797f0332c5d">Wait</a> (int timeout)=0</td></tr>
+<tr class="memdesc:a85777422b8d41fbc73829797f0332c5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Poll for all sockets added into this poller.  <a href="#a85777422b8d41fbc73829797f0332c5d">More...</a><br/></td></tr>
+<tr class="separator:a85777422b8d41fbc73829797f0332c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a85777422b8d41fbc73829797f0332c5d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Socket.html">Socket</a>* singa::BasePoller::Wait </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Poll for all sockets added into this poller. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">timeout</td><td>stop after this number of mseconds </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>pointer to the socket if it has one message in the receiving queue; nullptr if no message in any sockets, </dd></dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Poller.html#a124f54f657bb6479f0b6bc211c588415">singa::Poller</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="socket_8h_source.html">socket.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BasePoller.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BasePoller.png b/api/classsinga_1_1BasePoller.png
new file mode 100644
index 0000000..a455bee
Binary files /dev/null and b/api/classsinga_1_1BasePoller.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BridgeDstLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BridgeDstLayer-members.html b/api/classsinga_1_1BridgeDstLayer-members.html
new file mode 100644
index 0000000..a5a8a54
--- /dev/null
+++ b/api/classsinga_1_1BridgeDstLayer-members.html
@@ -0,0 +1,157 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BridgeDstLayer.html">BridgeDstLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BridgeDstLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a16beb7c175217864bf2f75af016aa5ac">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html#ae55ce33799c5e7a2d6fcdbba83c94ae3">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (defined in <a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</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>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>ready</b>() const  (defined in <a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ready_</b> (defined in <a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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>set_ready</b>(bool a) (defined in <a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</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_1BridgeDstLayer.html#a8caa316af324395b766409dd8f8bcd15">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a302d7eff4b295ec6869c2adccb6b96ed">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a90883d70214e4ac2e1afd2337531ef03">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeDstLayer.html">singa::BridgeDstLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BridgeDstLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BridgeDstLayer.html b/api/classsinga_1_1BridgeDstLayer.html
new file mode 100644
index 0000000..9e1f1f9
--- /dev/null
+++ b/api/classsinga_1_1BridgeDstLayer.html
@@ -0,0 +1,460 @@
+<!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.6"/>
+<title>Apache SINGA: singa::BridgeDstLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BridgeDstLayer.html">BridgeDstLayer</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_1BridgeDstLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BridgeDstLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>For recv data from layer on other threads which may resident on other nodes due to layer/data partiton.  
+ <a href="classsinga_1_1BridgeDstLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::BridgeDstLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BridgeDstLayer.png" usemap="#singa::BridgeDstLayer_map" alt=""/>
+  <map id="singa::BridgeDstLayer_map" name="singa::BridgeDstLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,136,24"/>
+</map>
+ </div></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:a8caa316af324395b766409dd8f8bcd15"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a8caa316af324395b766409dd8f8bcd15">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a8caa316af324395b766409dd8f8bcd15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a8caa316af324395b766409dd8f8bcd15">More...</a><br/></td></tr>
+<tr class="separator:a8caa316af324395b766409dd8f8bcd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a302d7eff4b295ec6869c2adccb6b96ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a302d7eff4b295ec6869c2adccb6b96ed"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a302d7eff4b295ec6869c2adccb6b96ed">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a302d7eff4b295ec6869c2adccb6b96ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a302d7eff4b295ec6869c2adccb6b96ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90883d70214e4ac2e1afd2337531ef03"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a90883d70214e4ac2e1afd2337531ef03">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a90883d70214e4ac2e1afd2337531ef03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a90883d70214e4ac2e1afd2337531ef03">More...</a><br/></td></tr>
+<tr class="separator:a90883d70214e4ac2e1afd2337531ef03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16beb7c175217864bf2f75af016aa5ac"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeDstLayer.html#a16beb7c175217864bf2f75af016aa5ac">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a16beb7c175217864bf2f75af016aa5ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a16beb7c175217864bf2f75af016aa5ac">More...</a><br/></td></tr>
+<tr class="separator:a16beb7c175217864bf2f75af016aa5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae55ce33799c5e7a2d6fcdbba83c94ae3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeDstLayer.html#ae55ce33799c5e7a2d6fcdbba83c94ae3">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:ae55ce33799c5e7a2d6fcdbba83c94ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#ae55ce33799c5e7a2d6fcdbba83c94ae3">More...</a><br/></td></tr>
+<tr class="separator:ae55ce33799c5e7a2d6fcdbba83c94ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a187a4da54075f89582855037f260529d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a187a4da54075f89582855037f260529d"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a187a4da54075f89582855037f260529d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9b416ed181af420bd0d9ddb85ebb2a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9b416ed181af420bd0d9ddb85ebb2a2"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_ready</b> (bool a)</td></tr>
+<tr class="separator:ae9b416ed181af420bd0d9ddb85ebb2a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a417b33114a76c6db854df7b2ede3a249"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a417b33114a76c6db854df7b2ede3a249"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>ready</b> () const </td></tr>
+<tr class="separator:a417b33114a76c6db854df7b2ede3a249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><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:abae137348eef28488578ae9a24752edf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abae137348eef28488578ae9a24752edf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>ready_</b></td></tr>
+<tr class="separator:abae137348eef28488578ae9a24752edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>For recv data from layer on other threads which may resident on other nodes due to layer/data partiton. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a16beb7c175217864bf2f75af016aa5ac"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeDstLayer::ComputeFeature </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute features of this layer based on connected layers. </p>
+<p>Implement forward propagation for BP; TODO Implement both postive phase and negative phase for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae55ce33799c5e7a2d6fcdbba83c94ae3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeDstLayer::ComputeGradient </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute gradients for parameters and connecting layers. </p>
+<p>Implement backward propagation for BP; TODO Calculate gradients for parameters for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8caa316af324395b766409dd8f8bcd15"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeDstLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a90883d70214e4ac2e1afd2337531ef03"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeDstLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BridgeDstLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BridgeDstLayer.png b/api/classsinga_1_1BridgeDstLayer.png
new file mode 100644
index 0000000..f500220
Binary files /dev/null and b/api/classsinga_1_1BridgeDstLayer.png differ


[57/57] incubator-singa git commit: fix highlight in readme

Posted by wa...@apache.org.
fix highlight in readme


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/8a34fb1f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/8a34fb1f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/8a34fb1f

Branch: refs/heads/gh-pages
Commit: 8a34fb1f4d90ba29525e3326729e3fb7acd73119
Parents: 540d8ac
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 20:43:52 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 20:43:52 2015 +0800

----------------------------------------------------------------------
 ._config.yml.swp | Bin 16384 -> 0 bytes
 README.md        |   4 ++--
 _config.yml      |   3 +--
 3 files changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/8a34fb1f/._config.yml.swp
----------------------------------------------------------------------
diff --git a/._config.yml.swp b/._config.yml.swp
deleted file mode 100644
index 7bd409a..0000000
Binary files a/._config.yml.swp and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/8a34fb1f/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 006e40c..4d77c4c 100644
--- a/README.md
+++ b/README.md
@@ -24,8 +24,8 @@ these steps to preview the website on you own Github site:
 
 After finishing updating the website, commiters can submit their commits as
 follows.
-**Make sure that you have changed back the BASE_URL to "/singa" if you have previewed.**
-it on your own Github site.
+(*Make sure that you have changed back the BASE_URL to "/singa" if you have previewed.
+it on your own Github site.*)
 
     # done only once
     git add upstream git://git.apache.org/incubator-singa.git

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/8a34fb1f/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index 2376ac1..ce4a999 100644
--- a/_config.yml
+++ b/_config.yml
@@ -22,7 +22,6 @@ author :
 # If you have set a CNAME (pages.github.com) set your custom domain here.
 # Else if you are pushing to username.github.io, replace with your username.
 # Finally if you are pushing to a GitHub project page, include the project name at the end.
-##http://nusinga.github.io
 #production_url :
 
 # All Jekyll-Bootstrap specific configurations are namespaced into this hash
@@ -54,7 +53,7 @@ JB :
   #   - When setting BASE_PATH it must be a valid url.
   #     This means always setting the protocol (http|https) or prefixing with "/"
   #
-  BASE_PATH :  "http://nudles.github.io/incubator-singa" #http://www.comp.nus.edu.sg/~wangwei
+  BASE_PATH :  "/singa"
 
   # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
   # ex: [BASE_PATH]/assets/themes/[THEME-NAME]


[56/57] incubator-singa git commit: test on personal github

Posted by wa...@apache.org.
test on personal github


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/540d8ac9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/540d8ac9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/540d8ac9

Branch: refs/heads/gh-pages
Commit: 540d8ac9eb6912a3bb8c7902126664a3a57b0866
Parents: 3a891c2
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 20:40:21 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 20:40:21 2015 +0800

----------------------------------------------------------------------
 ._config.yml.swp | Bin 0 -> 16384 bytes
 _config.yml      |   2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/540d8ac9/._config.yml.swp
----------------------------------------------------------------------
diff --git a/._config.yml.swp b/._config.yml.swp
new file mode 100644
index 0000000..7bd409a
Binary files /dev/null and b/._config.yml.swp differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/540d8ac9/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index ea88a9e..2376ac1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -54,7 +54,7 @@ JB :
   #   - When setting BASE_PATH it must be a valid url.
   #     This means always setting the protocol (http|https) or prefixing with "/"
   #
-  BASE_PATH :  "http://apache.github.io/singa" #http://www.comp.nus.edu.sg/~wangwei
+  BASE_PATH :  "http://nudles.github.io/incubator-singa" #http://www.comp.nus.edu.sg/~wangwei
 
   # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
   # ex: [BASE_PATH]/assets/themes/[THEME-NAME]


[11/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1TanhLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1TanhLayer.html b/api/classsinga_1_1TanhLayer.html
new file mode 100644
index 0000000..7b4823a
--- /dev/null
+++ b/api/classsinga_1_1TanhLayer.html
@@ -0,0 +1,377 @@
+<!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.6"/>
+<title>Apache SINGA: singa::TanhLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1TanhLayer.html">TanhLayer</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_1TanhLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::TanhLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This layer apply Tan function to neuron activations.  
+ <a href="classsinga_1_1TanhLayer.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">
+Inheritance diagram for singa::TanhLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1TanhLayer.png" usemap="#singa::TanhLayer_map" alt=""/>
+  <map id="singa::TanhLayer_map" name="singa::TanhLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,109,24"/>
+</map>
+ </div></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:ae2f5b0d2f2ac2f304324795cf46151ef"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1TanhLayer.html#ae2f5b0d2f2ac2f304324795cf46151ef">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:ae2f5b0d2f2ac2f304324795cf46151ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae2f5b0d2f2ac2f304324795cf46151ef">More...</a><br/></td></tr>
+<tr class="separator:ae2f5b0d2f2ac2f304324795cf46151ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae828e79607c2abe9c0b73627b8ec0548"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1TanhLayer.html#ae828e79607c2abe9c0b73627b8ec0548">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:ae828e79607c2abe9c0b73627b8ec0548"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#ae828e79607c2abe9c0b73627b8ec0548">More...</a><br/></td></tr>
+<tr class="separator:ae828e79607c2abe9c0b73627b8ec0548"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e3cb3de381967917bdd55f33284f09a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e3cb3de381967917bdd55f33284f09a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a5e3cb3de381967917bdd55f33284f09a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9823593abbf16cf494e6c1a4088fd5d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9823593abbf16cf494e6c1a4088fd5d0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a9823593abbf16cf494e6c1a4088fd5d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>This layer apply Tan function to neuron activations. </p>
+<p>f(x)=A tanh(Bx) f'(x)=B/A (A*A-f(x)*f(x)) </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae2f5b0d2f2ac2f304324795cf46151ef"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::TanhLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae828e79607c2abe9c0b73627b8ec0548"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::TanhLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1TanhLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1TanhLayer.png b/api/classsinga_1_1TanhLayer.png
new file mode 100644
index 0000000..404cb49
Binary files /dev/null and b/api/classsinga_1_1TanhLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Trainer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Trainer-members.html b/api/classsinga_1_1Trainer-members.html
new file mode 100644
index 0000000..0919523
--- /dev/null
+++ b/api/classsinga_1_1Trainer-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Trainer.html">Trainer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Trainer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Trainer.html">singa::Trainer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Trainer.html#a127e4bfb11fe24bec776f49a7a8ef9a0">RegisterDefaultClasses</a>(const singa::ModelProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Trainer.html">singa::Trainer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Run</b>() (defined in <a class="el" href="classsinga_1_1Trainer.html">singa::Trainer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Trainer.html">singa::Trainer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Trainer.html#a0b66895ea1bb95251b42780ae75f7d2a">Start</a>(const ModelProto &amp;modelproto, const ClusterProto &amp;clusterproto, int procs_id)</td><td class="entry"><a class="el" href="classsinga_1_1Trainer.html">singa::Trainer</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Trainer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Trainer.html b/api/classsinga_1_1Trainer.html
new file mode 100644
index 0000000..9faad48
--- /dev/null
+++ b/api/classsinga_1_1Trainer.html
@@ -0,0 +1,203 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Trainer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Trainer.html">Trainer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classsinga_1_1Trainer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Trainer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Every running process has a training object which launches one or more worker (and server) threads.  
+ <a href="classsinga_1_1Trainer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="trainer_8h_source.html">trainer.h</a>&gt;</code></p>
+<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:a0b66895ea1bb95251b42780ae75f7d2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Trainer.html#a0b66895ea1bb95251b42780ae75f7d2a">Start</a> (const ModelProto &amp;modelproto, const ClusterProto &amp;clusterproto, int procs_id)</td></tr>
+<tr class="memdesc:a0b66895ea1bb95251b42780ae75f7d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the training in one process.  <a href="#a0b66895ea1bb95251b42780ae75f7d2a">More...</a><br/></td></tr>
+<tr class="separator:a0b66895ea1bb95251b42780ae75f7d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ac27c7028b74ffc9dd36ada92e4179e02"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac27c7028b74ffc9dd36ada92e4179e02"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Run</b> ()</td></tr>
+<tr class="separator:ac27c7028b74ffc9dd36ada92e4179e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a127e4bfb11fe24bec776f49a7a8ef9a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Trainer.html#a127e4bfb11fe24bec776f49a7a8ef9a0">RegisterDefaultClasses</a> (const singa::ModelProto &amp;proto)</td></tr>
+<tr class="memdesc:a127e4bfb11fe24bec776f49a7a8ef9a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register default implementations for all base classes used in the system, e.g., the <a class="el" href="classsinga_1_1Updater.html" title="Updater for Param. ">Updater</a>, <a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a>, etc.  <a href="#a127e4bfb11fe24bec776f49a7a8ef9a0">More...</a><br/></td></tr>
+<tr class="separator:a127e4bfb11fe24bec776f49a7a8ef9a0"><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>Every running process has a training object which launches one or more worker (and server) threads. </p>
+<p>The main thread runs a loop to forward messages between workers and servers. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a127e4bfb11fe24bec776f49a7a8ef9a0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::Trainer::RegisterDefaultClasses </td>
+          <td>(</td>
+          <td class="paramtype">const singa::ModelProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Register default implementations for all base classes used in the system, e.g., the <a class="el" href="classsinga_1_1Updater.html" title="Updater for Param. ">Updater</a>, <a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a>, etc. </p>
+<p>All built-in layer implementations are registered here. For other base classes, use its base class name (string) as the key and the implementation class as the value, e.g., &lt;"Updater" <a class="el" href="classsinga_1_1SGDUpdater.html">SGDUpdater</a>&gt;. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0b66895ea1bb95251b42780ae75f7d2a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::Trainer::Start </td>
+          <td>(</td>
+          <td class="paramtype">const ModelProto &amp;&#160;</td>
+          <td class="paramname"><em>modelproto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const ClusterProto &amp;&#160;</td>
+          <td class="paramname"><em>clusterproto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>procs_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start the training in one process. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">modelproto</td><td></td></tr>
+    <tr><td class="paramname">clusterproto</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="trainer_8h_source.html">trainer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Updater-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Updater-members.html b/api/classsinga_1_1Updater-members.html
new file mode 100644
index 0000000..616a9d7
--- /dev/null
+++ b/api/classsinga_1_1Updater-members.html
@@ -0,0 +1,110 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Updater.html">Updater</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Updater Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetLearningRate</b>(int step) (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>Init</b>(const UpdaterProto &amp;proto) (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>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>Update</b>(int step, shared_ptr&lt; Param &gt; param, float grad_scale=1.0f)=0 (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">pure virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Updater.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Updater.html b/api/classsinga_1_1Updater.html
new file mode 100644
index 0000000..f1cc5f1
--- /dev/null
+++ b/api/classsinga_1_1Updater.html
@@ -0,0 +1,148 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Updater 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Updater.html">Updater</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_1Updater-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Updater Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="classsinga_1_1Updater.html" title="Updater for Param. ">Updater</a> for <a class="el" href="classsinga_1_1Param.html">Param</a>.  
+ <a href="classsinga_1_1Updater.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="updater_8h_source.html">updater.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::Updater:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Updater.png" usemap="#singa::Updater_map" alt=""/>
+  <map id="singa::Updater_map" name="singa::Updater_map">
+<area href="classsinga_1_1AdaGradUpdater.html" alt="singa::AdaGradUpdater" shape="rect" coords="0,56,146,80"/>
+<area href="classsinga_1_1NesterovUpdater.html" alt="singa::NesterovUpdater" shape="rect" coords="156,56,302,80"/>
+<area href="classsinga_1_1RMSPropUpdater.html" alt="singa::RMSPropUpdater" shape="rect" coords="312,56,458,80"/>
+<area href="classsinga_1_1SGDUpdater.html" alt="singa::SGDUpdater" shape="rect" coords="468,56,614,80"/>
+</map>
+ </div></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:ac6738a1404855258aef39ce0ec1cf15c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6738a1404855258aef39ce0ec1cf15c"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (const UpdaterProto &amp;proto)</td></tr>
+<tr class="separator:ac6738a1404855258aef39ce0ec1cf15c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c16273511fdb74ac62abb62e7e12dab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c16273511fdb74ac62abb62e7e12dab"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (int step, shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, float grad_scale=1.0f)=0</td></tr>
+<tr class="separator:a4c16273511fdb74ac62abb62e7e12dab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4189828903aa55cddefe468575f9f2c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4189828903aa55cddefe468575f9f2c8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>GetLearningRate</b> (int step)</td></tr>
+<tr class="separator:a4189828903aa55cddefe468575f9f2c8"><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:aad5f46dc2f78aa73b6698a11447aad2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad5f46dc2f78aa73b6698a11447aad2d"></a>
+UpdaterProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:aad5f46dc2f78aa73b6698a11447aad2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="classsinga_1_1Updater.html" title="Updater for Param. ">Updater</a> for <a class="el" href="classsinga_1_1Param.html">Param</a>. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="updater_8h_source.html">updater.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Updater.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Updater.png b/api/classsinga_1_1Updater.png
new file mode 100644
index 0000000..3255a6c
Binary files /dev/null and b/api/classsinga_1_1Updater.png differ


[06/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1ScopedFakeTestPartResultReporter-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1ScopedFakeTestPartResultReporter-members.html b/api/classtesting_1_1ScopedFakeTestPartResultReporter-members.html
new file mode 100644
index 0000000..09b7f12
--- /dev/null
+++ b/api/classtesting_1_1ScopedFakeTestPartResultReporter-members.html
@@ -0,0 +1,114 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">ScopedFakeTestPartResultReporter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::ScopedFakeTestPartResultReporter Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INTERCEPT_ALL_THREADS</b> enum value (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INTERCEPT_ONLY_CURRENT_THREAD</b> enum value (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>InterceptMode</b> enum name (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ReportTestPartResult</b>(const TestPartResult &amp;result) (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ScopedFakeTestPartResultReporter</b>(TestPartResultArray *result) (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ScopedFakeTestPartResultReporter</b>(InterceptMode intercept_mode, TestPartResultArray *result) (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ScopedFakeTestPartResultReporter</b>() (defined in <a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a>)</td><td class="entry"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">testing::ScopedFakeTestPartResultReporter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~TestPartResultReporterInterface</b>() (defined in <a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1ScopedFakeTestPartResultReporter.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1ScopedFakeTestPartResultReporter.html b/api/classtesting_1_1ScopedFakeTestPartResultReporter.html
new file mode 100644
index 0000000..bcfc0d0
--- /dev/null
+++ b/api/classtesting_1_1ScopedFakeTestPartResultReporter.html
@@ -0,0 +1,139 @@
+<!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.6"/>
+<title>Apache SINGA: testing::ScopedFakeTestPartResultReporter 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">ScopedFakeTestPartResultReporter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1ScopedFakeTestPartResultReporter-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::ScopedFakeTestPartResultReporter Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::ScopedFakeTestPartResultReporter:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1ScopedFakeTestPartResultReporter.png" usemap="#testing::ScopedFakeTestPartResultReporter_map" alt=""/>
+  <map id="testing::ScopedFakeTestPartResultReporter_map" name="testing::ScopedFakeTestPartResultReporter_map">
+<area href="classtesting_1_1TestPartResultReporterInterface.html" alt="testing::TestPartResultReporterInterface" shape="rect" coords="0,0,254,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a82f6209b3cf5c4b15ec8bd8041dbc2d5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>InterceptMode</b> { <b>INTERCEPT_ONLY_CURRENT_THREAD</b>, 
+<b>INTERCEPT_ALL_THREADS</b>
+ }</td></tr>
+<tr class="separator:a82f6209b3cf5c4b15ec8bd8041dbc2d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:aa0100ecf4799fb51d45167be6a5de1d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0100ecf4799fb51d45167be6a5de1d5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>ScopedFakeTestPartResultReporter</b> (<a class="el" href="classtesting_1_1TestPartResultArray.html">TestPartResultArray</a> *result)</td></tr>
+<tr class="separator:aa0100ecf4799fb51d45167be6a5de1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57cbc09ed48627c8a73e622618dc4b4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57cbc09ed48627c8a73e622618dc4b4f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>ScopedFakeTestPartResultReporter</b> (InterceptMode intercept_mode, <a class="el" href="classtesting_1_1TestPartResultArray.html">TestPartResultArray</a> *result)</td></tr>
+<tr class="separator:a57cbc09ed48627c8a73e622618dc4b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82531434f51632d98ed7cdcdb10b8b92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82531434f51632d98ed7cdcdb10b8b92"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ReportTestPartResult</b> (const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;result)</td></tr>
+<tr class="separator:a82531434f51632d98ed7cdcdb10b8b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1ScopedFakeTestPartResultReporter.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1ScopedFakeTestPartResultReporter.png b/api/classtesting_1_1ScopedFakeTestPartResultReporter.png
new file mode 100644
index 0000000..7b00e70
Binary files /dev/null and b/api/classtesting_1_1ScopedFakeTestPartResultReporter.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Test-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Test-members.html b/api/classtesting_1_1Test-members.html
new file mode 100644
index 0000000..cf60e02
--- /dev/null
+++ b/api/classtesting_1_1Test-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1Test.html">Test</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::Test Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1Test.html">testing::Test</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HasFailure</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HasFatalFailure</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HasNonfatalFailure</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>RecordProperty</b>(const std::string &amp;key, const std::string &amp;value) (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RecordProperty</b>(const std::string &amp;key, int value) (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SetUp</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SetUpTestCase</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SetUpTestCaseFunc</b> typedef (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TearDown</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TearDownTestCase</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TearDownTestCaseFunc</b> typedef (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Test</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TestInfo</b> (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Test</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Test.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Test.html b/api/classtesting_1_1Test.html
new file mode 100644
index 0000000..81b6f63
--- /dev/null
+++ b/api/classtesting_1_1Test.html
@@ -0,0 +1,173 @@
+<!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.6"/>
+<title>Apache SINGA: testing::Test 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1Test.html">Test</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1Test-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::Test Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::Test:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1Test.png" usemap="#testing::Test_map" alt=""/>
+  <map id="testing::Test_map" name="testing::Test_map">
+<area href="classtesting_1_1TestWithParam.html" alt="testing::TestWithParam&lt; T &gt;" shape="rect" coords="0,56,168,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a5f2a051d1d99c9b784c666c586186cf9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f2a051d1d99c9b784c666c586186cf9"></a>
+typedef internal::SetUpTestCaseFunc&#160;</td><td class="memItemRight" valign="bottom"><b>SetUpTestCaseFunc</b></td></tr>
+<tr class="separator:a5f2a051d1d99c9b784c666c586186cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f532e93b9f3500144c53f31466976c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0f532e93b9f3500144c53f31466976c"></a>
+typedef <br class="typebreak"/>
+internal::TearDownTestCaseFunc&#160;</td><td class="memItemRight" valign="bottom"><b>TearDownTestCaseFunc</b></td></tr>
+<tr class="separator:aa0f532e93b9f3500144c53f31466976c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a5ccbac42fee8c5b00b0bfe89b6c49d79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ccbac42fee8c5b00b0bfe89b6c49d79"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>SetUpTestCase</b> ()</td></tr>
+<tr class="separator:a5ccbac42fee8c5b00b0bfe89b6c49d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af374706cbaf0ffc460f4fd04e7c150f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af374706cbaf0ffc460f4fd04e7c150f1"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>TearDownTestCase</b> ()</td></tr>
+<tr class="separator:af374706cbaf0ffc460f4fd04e7c150f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8d0725cfb519f82eaf4fd2d2f46d97d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8d0725cfb519f82eaf4fd2d2f46d97d"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasFatalFailure</b> ()</td></tr>
+<tr class="separator:aa8d0725cfb519f82eaf4fd2d2f46d97d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b933cea62eff67a05e23aa07f38bf29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b933cea62eff67a05e23aa07f38bf29"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasNonfatalFailure</b> ()</td></tr>
+<tr class="separator:a3b933cea62eff67a05e23aa07f38bf29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a00be7dd0a6bfdc8d47a1b784623613"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a00be7dd0a6bfdc8d47a1b784623613"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasFailure</b> ()</td></tr>
+<tr class="separator:a7a00be7dd0a6bfdc8d47a1b784623613"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b20a48c0bbc9dd1fe96715e4a5c0164"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b20a48c0bbc9dd1fe96715e4a5c0164"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>RecordProperty</b> (const std::string &amp;key, const std::string &amp;value)</td></tr>
+<tr class="separator:a7b20a48c0bbc9dd1fe96715e4a5c0164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb8d29af28e48dc65b2b743f1874ccfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb8d29af28e48dc65b2b743f1874ccfe"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>RecordProperty</b> (const std::string &amp;key, int value)</td></tr>
+<tr class="separator:afb8d29af28e48dc65b2b743f1874ccfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a57a4116f39f6636a80710ded7d42e889"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a4116f39f6636a80710ded7d42e889"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>SetUp</b> ()</td></tr>
+<tr class="separator:a57a4116f39f6636a80710ded7d42e889"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2889fd829b6c712d98fb3896d28f64a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2889fd829b6c712d98fb3896d28f64a3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>TearDown</b> ()</td></tr>
+<tr class="separator:a2889fd829b6c712d98fb3896d28f64a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a4c49c2cdb6c328e6b709b4542f23de3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c49c2cdb6c328e6b709b4542f23de3c"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>TestInfo</b></td></tr>
+<tr class="separator:a4c49c2cdb6c328e6b709b4542f23de3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1Test.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1Test.png b/api/classtesting_1_1Test.png
new file mode 100644
index 0000000..828192e
Binary files /dev/null and b/api/classtesting_1_1Test.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestCase-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestCase-members.html b/api/classtesting_1_1TestCase-members.html
new file mode 100644
index 0000000..713dca5
--- /dev/null
+++ b/api/classtesting_1_1TestCase-members.html
@@ -0,0 +1,125 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestCase.html">TestCase</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestCase Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ad_hoc_test_result</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>disabled_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>elapsed_time</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Failed</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>failed_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetTestInfo</b>(int i) const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::UnitTestImpl</b> (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>name</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Passed</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reportable_disabled_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reportable_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>should_run</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successful_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Test</b> (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>test_to_run_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestCase</b>(const char *name, const char *a_type_param, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc) (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>total_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type_param</b>() const  (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~TestCase</b>() (defined in <a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestCase.html">testing::TestCase</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestCase.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestCase.html b/api/classtesting_1_1TestCase.html
new file mode 100644
index 0000000..ffd7469
--- /dev/null
+++ b/api/classtesting_1_1TestCase.html
@@ -0,0 +1,172 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestCase 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestCase.html">TestCase</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1TestCase-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestCase Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a8a43b04703bfc7d56597fcb9b76ffbf5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a43b04703bfc7d56597fcb9b76ffbf5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>TestCase</b> (const char *name, const char *a_type_param, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc)</td></tr>
+<tr class="separator:a8a43b04703bfc7d56597fcb9b76ffbf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4dfd4ece8e66520a30e6a9fbd9d43aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4dfd4ece8e66520a30e6a9fbd9d43aa"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> () const </td></tr>
+<tr class="separator:af4dfd4ece8e66520a30e6a9fbd9d43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2052c095bc6ac9c0ab1cae6f0e2d9fc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2052c095bc6ac9c0ab1cae6f0e2d9fc9"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>type_param</b> () const </td></tr>
+<tr class="separator:a2052c095bc6ac9c0ab1cae6f0e2d9fc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e49de754452943d88e3083e6cdded00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e49de754452943d88e3083e6cdded00"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>should_run</b> () const </td></tr>
+<tr class="separator:a0e49de754452943d88e3083e6cdded00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fb3974ccb5242ad9d1d633d53c0f730"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fb3974ccb5242ad9d1d633d53c0f730"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>successful_test_count</b> () const </td></tr>
+<tr class="separator:a8fb3974ccb5242ad9d1d633d53c0f730"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae74e7a2e75d07f9feca2c3384604cb01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae74e7a2e75d07f9feca2c3384604cb01"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>failed_test_count</b> () const </td></tr>
+<tr class="separator:ae74e7a2e75d07f9feca2c3384604cb01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ec19c0058282562c0cc2c0e87d4b211"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ec19c0058282562c0cc2c0e87d4b211"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>reportable_disabled_test_count</b> () const </td></tr>
+<tr class="separator:a4ec19c0058282562c0cc2c0e87d4b211"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1e3cd2b598f19ce10e42b3421508a9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1e3cd2b598f19ce10e42b3421508a9e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>disabled_test_count</b> () const </td></tr>
+<tr class="separator:ac1e3cd2b598f19ce10e42b3421508a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7693150fa71d460a19b291ed6f5c18bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7693150fa71d460a19b291ed6f5c18bd"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>reportable_test_count</b> () const </td></tr>
+<tr class="separator:a7693150fa71d460a19b291ed6f5c18bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47de0cf87858370388275c9d995f1ff4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47de0cf87858370388275c9d995f1ff4"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>test_to_run_count</b> () const </td></tr>
+<tr class="separator:a47de0cf87858370388275c9d995f1ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7b2ed22822735b7b9ae2740162332c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7b2ed22822735b7b9ae2740162332c9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>total_test_count</b> () const </td></tr>
+<tr class="separator:ac7b2ed22822735b7b9ae2740162332c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad093a04334d7eb8d707a7f1a321b040f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad093a04334d7eb8d707a7f1a321b040f"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Passed</b> () const </td></tr>
+<tr class="separator:ad093a04334d7eb8d707a7f1a321b040f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c0922d310f860e78cca7e215f2fa0e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c0922d310f860e78cca7e215f2fa0e4"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Failed</b> () const </td></tr>
+<tr class="separator:a5c0922d310f860e78cca7e215f2fa0e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80f163d2826ba8586fffb41e8d686727"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80f163d2826ba8586fffb41e8d686727"></a>
+TimeInMillis&#160;</td><td class="memItemRight" valign="bottom"><b>elapsed_time</b> () const </td></tr>
+<tr class="separator:a80f163d2826ba8586fffb41e8d686727"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a7d5757d4b352cda2dddd0fda714a88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a7d5757d4b352cda2dddd0fda714a88"></a>
+const <a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetTestInfo</b> (int i) const </td></tr>
+<tr class="separator:a9a7d5757d4b352cda2dddd0fda714a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3993481a8f0c2253653b5e1ec5934432"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3993481a8f0c2253653b5e1ec5934432"></a>
+const <a class="el" href="classtesting_1_1TestResult.html">TestResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>ad_hoc_test_result</b> () const </td></tr>
+<tr class="separator:a3993481a8f0c2253653b5e1ec5934432"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a5b78b1c2e1fa07ffed92da365593eaa4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b78b1c2e1fa07ffed92da365593eaa4"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>Test</b></td></tr>
+<tr class="separator:a5b78b1c2e1fa07ffed92da365593eaa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc0a5e7573fd6ae7ad1878613bb86853"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::UnitTestImpl</b></td></tr>
+<tr class="separator:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestEventListener-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestEventListener-members.html b/api/classtesting_1_1TestEventListener-members.html
new file mode 100644
index 0000000..f8ec8e9
--- /dev/null
+++ b/api/classtesting_1_1TestEventListener-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestEventListener Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnEnvironmentsSetUpEnd</b>(const UnitTest &amp;unit_test)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnEnvironmentsSetUpStart</b>(const UnitTest &amp;unit_test)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnEnvironmentsTearDownEnd</b>(const UnitTest &amp;unit_test)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnEnvironmentsTearDownStart</b>(const UnitTest &amp;unit_test)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnTestCaseEnd</b>(const TestCase &amp;test_case)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestCaseStart</b>(const TestCase &amp;test_case)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnTestEnd</b>(const TestInfo &amp;test_info)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestIterationEnd</b>(const UnitTest &amp;unit_test, int iteration)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnTestIterationStart</b>(const UnitTest &amp;unit_test, int iteration)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestPartResult</b>(const TestPartResult &amp;test_part_result)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnTestProgramEnd</b>(const UnitTest &amp;unit_test)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>OnTestProgramStart</b>(const UnitTest &amp;unit_test)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OnTestStart</b>(const TestInfo &amp;test_info)=0 (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~TestEventListener</b>() (defined in <a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestEventListener.html">testing::TestEventListener</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[36/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BridgeSrcLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BridgeSrcLayer-members.html b/api/classsinga_1_1BridgeSrcLayer-members.html
new file mode 100644
index 0000000..6ff826d
--- /dev/null
+++ b/api/classsinga_1_1BridgeSrcLayer-members.html
@@ -0,0 +1,157 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">BridgeSrcLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BridgeSrcLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a6b6b652e2ae1b2c863b5143e07e9b6bf">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a54ce17eea86fb66db8984e13d1731f94">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (defined in <a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>ready</b>() const  (defined in <a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ready_</b> (defined in <a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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>set_ready</b>(bool a) (defined in <a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</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_1BridgeSrcLayer.html#a6bbe7d66a0c0e06b430f281b67e5ae92">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a49c7a2a581b136cda67264633feedb29">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#aa81a45289008df0334e66e6b639862a4">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">singa::BridgeSrcLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BridgeSrcLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BridgeSrcLayer.html b/api/classsinga_1_1BridgeSrcLayer.html
new file mode 100644
index 0000000..d9643b2
--- /dev/null
+++ b/api/classsinga_1_1BridgeSrcLayer.html
@@ -0,0 +1,460 @@
+<!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.6"/>
+<title>Apache SINGA: singa::BridgeSrcLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">BridgeSrcLayer</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_1BridgeSrcLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BridgeSrcLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>For sending data to layer on other threads which may resident on other nodes due to layer/data partition.  
+ <a href="classsinga_1_1BridgeSrcLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::BridgeSrcLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BridgeSrcLayer.png" usemap="#singa::BridgeSrcLayer_map" alt=""/>
+  <map id="singa::BridgeSrcLayer_map" name="singa::BridgeSrcLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,138,24"/>
+</map>
+ </div></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:a6bbe7d66a0c0e06b430f281b67e5ae92"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a6bbe7d66a0c0e06b430f281b67e5ae92">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a6bbe7d66a0c0e06b430f281b67e5ae92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a6bbe7d66a0c0e06b430f281b67e5ae92">More...</a><br/></td></tr>
+<tr class="separator:a6bbe7d66a0c0e06b430f281b67e5ae92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49c7a2a581b136cda67264633feedb29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49c7a2a581b136cda67264633feedb29"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a49c7a2a581b136cda67264633feedb29">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a49c7a2a581b136cda67264633feedb29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a49c7a2a581b136cda67264633feedb29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa81a45289008df0334e66e6b639862a4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#aa81a45289008df0334e66e6b639862a4">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aa81a45289008df0334e66e6b639862a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#aa81a45289008df0334e66e6b639862a4">More...</a><br/></td></tr>
+<tr class="separator:aa81a45289008df0334e66e6b639862a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b6b652e2ae1b2c863b5143e07e9b6bf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a6b6b652e2ae1b2c863b5143e07e9b6bf">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a6b6b652e2ae1b2c863b5143e07e9b6bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a6b6b652e2ae1b2c863b5143e07e9b6bf">More...</a><br/></td></tr>
+<tr class="separator:a6b6b652e2ae1b2c863b5143e07e9b6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54ce17eea86fb66db8984e13d1731f94"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BridgeSrcLayer.html#a54ce17eea86fb66db8984e13d1731f94">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a54ce17eea86fb66db8984e13d1731f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a54ce17eea86fb66db8984e13d1731f94">More...</a><br/></td></tr>
+<tr class="separator:a54ce17eea86fb66db8984e13d1731f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a846186d8c5fb071cbc10e40b2553944c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a846186d8c5fb071cbc10e40b2553944c"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a846186d8c5fb071cbc10e40b2553944c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9db02837dac458d13b977fad06c08dc6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9db02837dac458d13b977fad06c08dc6"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_ready</b> (bool a)</td></tr>
+<tr class="separator:a9db02837dac458d13b977fad06c08dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30207511f857f16abde4bcde1b5d37d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30207511f857f16abde4bcde1b5d37d0"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>ready</b> () const </td></tr>
+<tr class="separator:a30207511f857f16abde4bcde1b5d37d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:a3c1476eb589041989eb6982102e76427"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c1476eb589041989eb6982102e76427"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>ready_</b></td></tr>
+<tr class="separator:a3c1476eb589041989eb6982102e76427"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>For sending data to layer on other threads which may resident on other nodes due to layer/data partition. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6b6b652e2ae1b2c863b5143e07e9b6bf"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeSrcLayer::ComputeFeature </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute features of this layer based on connected layers. </p>
+<p>Implement forward propagation for BP; TODO Implement both postive phase and negative phase for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a54ce17eea86fb66db8984e13d1731f94"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeSrcLayer::ComputeGradient </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute gradients for parameters and connecting layers. </p>
+<p>Implement backward propagation for BP; TODO Calculate gradients for parameters for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6bbe7d66a0c0e06b430f281b67e5ae92"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeSrcLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa81a45289008df0334e66e6b639862a4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BridgeSrcLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BridgeSrcLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BridgeSrcLayer.png b/api/classsinga_1_1BridgeSrcLayer.png
new file mode 100644
index 0000000..cc657c0
Binary files /dev/null and b/api/classsinga_1_1BridgeSrcLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Cluster-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Cluster-members.html b/api/classsinga_1_1Cluster-members.html
new file mode 100644
index 0000000..9ce5b15
--- /dev/null
+++ b/api/classsinga_1_1Cluster-members.html
@@ -0,0 +1,130 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Cluster.html">Cluster</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Cluster Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>endpoint</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Cluster.html#ac4edbbb84564bfc743c37c2ab8f6f826">endpoint</a>(int procs_id) const </td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Get</b>() (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Get</b>(const ClusterProto &amp;cluster, int procs_id) (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Cluster.html#a4f0ec830d71ebef2ba06a8d02cf4382c">has_server</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Cluster.html#a9400db12ac058c032e823ed78c7e304b">has_worker</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>log_folder</b>() (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>nprocs</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nserver_groups</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>nserver_procs</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nservers_per_group</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>nservers_per_procs</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nworker_groups</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>nworker_groups_per_server_group</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nworker_procs</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>nworkers_per_group</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nworkers_per_procs</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Cluster.html#ae8e5354997207658d332e741f9c2a02e">procs_id</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>server_timeout</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>server_worker_separate</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>stub_timeout</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>vis_folder</b>() (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>worker_timeout</b>() const  (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>workspace</b>() (defined in <a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Cluster.html">singa::Cluster</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[44/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classes.html
----------------------------------------------------------------------
diff --git a/api/classes.html b/api/classes.html
new file mode 100644
index 0000000..9e293f9
--- /dev/null
+++ b/api/classes.html
@@ -0,0 +1,229 @@
+<!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.6"/>
+<title>Apache SINGA: Class Index</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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 class="header">
+  <div class="headertitle">
+<div class="title">Class Index</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href=
 "#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classmshadow_1_1utils_1_1FileStream.html">FileStream</a> (<a class="el" href="namespacemshadow_1_1utils.html">mshadow::utils</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html">Plan&lt; ScalarExp &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray30.html">ValueArray30</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1FloatingPoint.html">FloatingPoint</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01SwapAxisExp_3_01SrcExp_00_01dimsrc_00_010_00_01a2_01_4_01_4.html">Plan&lt; SwapAxisExp&lt; SrcExp, dimsrc, 0, a2 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1Test.html">Test</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray31.html">ValueArray31</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1AdaGradUpdater.html">AdaGradUpdater</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1FormatForComparison.html">FormatForComparison</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01SwapAxisExp_3_01SrcExp_00_01dimsrc_00_01a1_00_01a2_01_4_01_4.html">Plan&lt; SwapAxisExp&lt; SrcExp, dimsrc, a1, a2 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestCase.html">TestCase</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray32.html">ValueArray32</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1AddRef.html">AddRef</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1FormatForComparison_3_01ToPrint[N]_00_01OtherOperand_01_4.html">FormatForComparison&lt; ToPrint[N], OtherOperand &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_011_01_4_01_4.html">Plan&lt; Tensor&lt; Device, 1 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestCaseNameIs.html">TestCaseNameIs</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray33.html">ValueArray33</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1AddRef_3_01T_01_6_01_4.html">AddRef&lt; T &amp; &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1FVec.html">FVec</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">Plan&lt; Tensor&lt; Device, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestEventListener.html">TestEventListener</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray34.html">ValueArray34</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1AddReference.html">AddReference</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1FVec_3_01double_01_4.html">FVec&lt; double &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestEventListeners.html">TestEventListeners</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray35.html">ValueArray35</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1AddReference_3_01T_01_6_01_4.html">AddReference&lt; T &amp; &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1FVec_3_01float_01_4.html">FVec&lt; float &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01UnpackPatchToColXExp_3_01SrcExp_00_01srcdim_01_4_01_4.html">Plan&lt; UnpackPatchToColXExp&lt; SrcExp, srcdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestEventRepeater.html">TestEventRepeater</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray36.html">ValueArray36</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classASingleton.html">ASingleton</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01UnPoolingExp_3_01Reducer_00_01Device_01_4_01_4.html">Plan&lt; UnPoolingExp&lt; Reducer, Device &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestFactoryBase.html">TestFactoryBase</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray37.html">ValueArray37</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">AssertHelper</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1PMServer.html">PMServer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestFactoryImpl.html">TestFactoryImpl</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray38.html">ValueArray38</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1AssertionResult.html">AssertionResult</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get.html">Get</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1PMWorker.html">PMWorker</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray39.html">ValueArray39</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">Get&lt; 0 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Poller.html">Poller</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestMetaFactory.html">TestMetaFactory</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray4.html">ValueArray4</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">Get&lt; 1 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1PoolingExp.html">PoolingExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestMetaFactoryBase.html">TestMetaFactoryBase</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray40.html">ValueArray40</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">Get&lt; 2 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1PoolingLayer.html">PoolingLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray41.html">ValueArray41</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1BasePoller.html">BasePoller</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">Get&lt; 3 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1PrettyUnitTestResultPrinter.html">PrettyUnitTestResultPrinter</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestPartResultArray.html">TestPartResultArray</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray42.html">ValueArray42</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1BinaryMapExp.html">BinaryMapExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">Get&lt; 4 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">TestPartResultReporterInterface</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray43.html">ValueArray43</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1BLASEngine.html">BLASEngine</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">Get&lt; 5 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestProperty.html">TestProperty</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray44.html">ValueArray44</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1BLASEngine_3_01cpu_01_4.html">BLASEngine&lt; cpu &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">Get&lt; 6 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1Random.html">Random</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestPropertyKeyIs.html">TestPropertyKeyIs</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray45.html">ValueArray45</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1BLASEngine_3_01gpu_01_4.html">BLASEngine&lt; gpu &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_017_01_4.html">Get&lt; 7 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1Random.html">Random</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestResult.html">TestResult</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray46.html">ValueArray46</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classBlob.html">Blob</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_018_01_4.html">Get&lt; 8 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">Random&lt; cpu &gt;</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TestResultAccessor.html">TestResultAccessor</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray47.html">ValueArray47</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1BPWorker.html">BPWorker</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_019_01_4.html">Get&lt; 9 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1RangeGenerator.html">RangeGenerator</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1TestWithParam.html">TestWithParam</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray48.html">ValueArray48</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1BridgeDstLayer.html">BridgeDstLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classGraph.html">Graph</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1RE.html">RE</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ThreadLocal.html">ThreadLocal</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray49.html">ValueArray49</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1BridgeSrcLayer.html">BridgeSrcLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1GTestFlagSaver.html">GTestFlagSaver</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ReduceTo1DExp.html">ReduceTo1DExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1TraceInfo.html">TraceInfo</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray5.html">ValueArray5</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Broadcast1DExp.html">Broadcast1DExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1GTestLog.html">GTestLog</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1ReLULayer.html">ReLULayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Trainer.html">Trainer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray50.html">ValueArray50</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1ByRef.html">ByRef</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1GTestMutexLock.html">GTestMutexLock</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1RemoveConst.html">RemoveConst</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray6.html">ValueArray6</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1ByRef_3_01T_01_6_01_4.html">ByRef&lt; T &amp; &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1RemoveConst_3_01const_01T_01_4.html">RemoveConst&lt; const T &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement.html">TupleElement</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray7.html">ValueArray7</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1RemoveConst_3_01const_01T[N]_4.html">RemoveConst&lt; const T[N]&gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_010_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 0, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray8.html">ValueArray8</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1HasNewFatalFailureHelper.html">HasNewFatalFailureHelper</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1RemoveReference.html">RemoveReference</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_011_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 1, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray9.html">ValueArray9</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">CartesianProductGenerator10</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1RemoveReference_3_01T_01_6_01_4.html">RemoveReference&lt; T &amp; &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_012_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 2, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValuesInIteratorRangeGenerator.html">ValuesInIteratorRangeGenerator</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">CartesianProductGenerator2</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ReshapeExp.html">ReshapeExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_013_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 3, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator3.html">CartesianProductGenerator3</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ImplicitlyConvertible.html">ImplicitlyConvertible</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1RGBImageLayer.html">RGBImageLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_014_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 4, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator4.html">CartesianProductGenerator4</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1InnerProductLayer.html">InnerProductLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1RMSPropUpdater.html">RMSPropUpdater</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_015_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 5, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1WithParamInterface.html">WithParamInterface</a> (testing)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator5.html">CartesianProductGenerator5</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1IsAProtocolMessage.html">IsAProtocolMessage</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Router.html">Router</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_016_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 6, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Worker.html">Worker</a> (singa)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator6.html">CartesianProductGenerator6</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1utils_1_1IStream.html">IStream</a> (<a class="el" href="namespacemshadow_1_1utils.html">mshadow::utils</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_017_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 7, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1WorkerException.html">WorkerException</a> (singa)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator7.html">CartesianProductGenerator7</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1IteratorTraits.html">IteratorTraits</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_018_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 8, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;X&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator8.html">CartesianProductGenerator8</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1IteratorTraits_3_01const_01T_01_5_01_4.html">IteratorTraits&lt; const T * &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1SameSizeTuplePrefixComparator.html">SameSizeTuplePrefixComparator</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1TupleElement_3_01true_00_019_00_01GTEST__10__TUPLE___07T_08_01_4.html">TupleElement&lt; true, 9, GTEST_10_TUPLE_(T) &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator9.html">CartesianProductGenerator9</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1IteratorTraits_3_01T_01_5_01_4.html">IteratorTraits&lt; T * &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1SameSizeTuplePrefixComparator_3_010_00_010_01_4.html">SameSizeTuplePrefixComparator&lt; 0, 0 &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1TuplePrefixPrinter.html">TuplePrefixPrinter</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1XmlUnitTestResultPrinter.html">XmlUnitTestResultPrinter</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder10.html">CartesianProductHolder10</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structstd_1_1tr1_1_1gtest__internal_1_1SameSizeTuplePrefixComparator_3_01k_00_01k_01_4.html">SameSizeTuplePrefixComparator&lt; k, k &gt;</a> (std::tr1::gtest_internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1TuplePrefixPrinter_3_010_01_4.html">TuplePrefixPrinter&lt; 0 &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;_&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder2.html">CartesianProductHolder2</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1Saver.html">Saver</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1TuplePrefixPrinter_3_011_01_4.html">TuplePrefixPrinter&lt; 1 &gt;</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder3.html">CartesianProductHolder3</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1LabelLayer.html">LabelLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1Saver_3_01sv_1_1saveto_00_01TFloat_01_4.html">Saver&lt; sv::saveto, TFloat &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1TypeCheck.html">TypeCheck</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct__LayerInfo.html">_LayerInfo</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder4.html">CartesianProductHolder4</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Layer.html">Layer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ScalarExp.html">ScalarExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1TypeCheckPass.html">TypeCheckPass</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder5.html">CartesianProductHolder5</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1LMDBDataLayer.html">LMDBDataLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1ScopedFakeTestPartResultReporter.html">ScopedFakeTestPartResultReporter</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1TypeCheckPass_3_01false_01_4.html">TypeCheckPass&lt; false &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder6.html">CartesianProductHolder6</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1LossLayer.html">LossLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ScopedPrematureExitFile.html">ScopedPrematureExitFile</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1TypeCheckPass_3_01true_01_4.html">TypeCheckPass&lt; true &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1bnll.html">bnll</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder7.html">CartesianProductHolder7</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1LRNLayer.html">LRNLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ScopedTrace.html">ScopedTrace</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TypeIdHelper.html">TypeIdHelper</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1bnll__grad.html">bnll_grad</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder8.html">CartesianProductHolder8</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classsinga_1_1Server.html">Server</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter.html">TypeWithoutFormatter</a> (testing::internal2)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1bool__constant.html">bool_constant</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1CartesianProductHolder9.html">CartesianProductHolder9</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1SGDUpdater.html">SGDUpdater</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html">TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt;</a> (testing::internal2)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ChannelPoolingExp.html">ChannelPoolingExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1MakeTensorExp.html">MakeTensorExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1Shape.html">Shape</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html">TypeWithoutFormatter&lt; T, kProtobuf &gt;</a> (testing::internal2)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1Cluster.html">Cluster</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1MapExpCPUEngine.html">MapExpCPUEngine</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck.html">ShapeCheck</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TypeWithSize.html">TypeWithSize</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1cpu.html">cpu</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1CompileAssert.html">CompileAssert</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1MapExpCPUEngine_3_01false_00_01SV_00_01dim_00_01E_00_01etype_01_4.html">MapExpCPUEngine&lt; false, SV, dim, E, etype &gt;</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">ShapeCheck&lt; dim, BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TypeWithSize_3_014_01_4.html">TypeWithSize&lt; 4 &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td
 ><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1CompileAssertTypesEqual.html">CompileAssertTypesEqual</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1MapExpCPUEngine_3_01true_00_01SV_00_01dim_00_01E_00_01etype_01_4.html">MapExpCPUEngine&lt; true, SV, dim, E, etype &gt;</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01MakeTensorExp_3_01T_00_01SrcExp_00_01dim_01_4_01_4.html">ShapeCheck&lt; dim, MakeTensorExp&lt; T, SrcExp, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1TypeWithSize_3_018_01_4.html">TypeWithSize&lt; 8 &gt;</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1CompileAssertTypesEqual_3_01T_00_01T_01_4.html">CompileAssertTypesEqual&lt; T, T &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1Message.html">Message</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01ScalarExp_01_4.html">ShapeCheck&lt; dim, ScalarExp &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1div.html">div</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1ConcateLayer.html">ConcateLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1MirroringExp.html">MirroringExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01Tensor_3_01Device_00_01dim_01_4_01_4.html">ShapeCheck&lt; dim, Tensor&lt; Device, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sv_1_1divto.html">divto</a> (<a class="el" href="namespacemshadow_1_1sv.html">mshadow::sv</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1ConstCharPtr.html">ConstCharPtr</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1MnistImageLayer.html">MnistImageLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ShapeCheck_3_01dim_00_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">ShapeCheck&lt; dim, UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1UnaryMapExp.html">UnaryMapExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">ContainerExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Msg.html">Msg</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1ShardDataLayer.html">ShardDataLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> (testing)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1ConvolutionLayer.html">ConvolutionLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1Mutex.html">Mutex</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1SingleFailureChecker.html">SingleFailureChecker</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UnitTestImpl.html">UnitTestImpl</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1gpu.html">gpu</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1CroppingExp.html">CroppingExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classSingleton.html">Singleton</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UnitTestOptions.html">UnitTestOptions</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classsinga_1_1SliceLayer.html">SliceLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalPrinter.html">UniversalPrinter</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1NativeArray.html">NativeArray</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Socket.html">Socket</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalPrinter_3_01T_01_6_01_4.html">UniversalPrinter&lt; T &amp; &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1identity.html">identity</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1DataLayer.html">DataLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1NesterovUpdater.html">NesterovUpdater</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1SoftmaxLossLayer.html">SoftmaxLossLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalPrinter_3_01T[N]_4.html">UniversalPrinter&lt; T[N]&gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1is__pointer.html">is_pointer</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1DataShard.html">DataShard</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1SplitLayer.html">SplitLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter.html">UniversalTersePrinter</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1is__pointer_3_01T_01_5_01_4.html">is_pointer&lt; T * &gt;</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1Dealer.html">Dealer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classNode.html">Node</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck.html">SSEAlignCheck</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter_3_01char_01_5_01_4.html">UniversalTersePrinter&lt; char * &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1DefaultGlobalTestPartResultReporter.html">DefaultGlobalTestPartResultReporter</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_012_00_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">SSEAlignCheck&lt; 2, Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter_3_01const_01char_01_5_01_4.html">UniversalTersePrinter&lt; const char * &gt;</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1DefaultPerThreadTestPartResultReporter.html">DefaultPerThreadTestPartResultReporter</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">SSEAlignCheck&lt; dim, BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter_3_01const_01wchar__t_01_5_01_4.html">UniversalTersePrinter&lt; const wchar_t * &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1linked__ptr.html">linked_ptr</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1DotEngine.html">DotEngine</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1OsStackTraceGetter.html">OsStackTraceGetter</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01ScalarExp_01_4.html">SSEAlignCheck&lt; dim, ScalarExp &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter_3_01T_01_6_01_4.html">UniversalTersePrinter&lt; T &amp; &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1linked__ptr__internal.html">linked_ptr_internal</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1DotEngine_3_01SV_00_01xpu_00_011_00_011_00_012_00_01false_00_01transpose__right_01_4.html">DotEngine&lt; SV, xpu, 1, 1, 2, false, transpose_right &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1OsStackTraceGetterInterface.html">OsStackTraceGetterInterface</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01Tensor_3_01cpu_00_01dim_01_4_01_4.html">SSEAlignCheck&lt; dim, Tensor&lt; cpu, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter_3_01T[N]_4.html">UniversalTersePrinter&lt; T[N]&gt;</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="lette
 r_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1DotEngine_3_01SV_00_01xpu_00_012_00_011_00_011_00_01true_00_01false_01_4.html">DotEngine&lt; SV, xpu, 2, 1, 1, true, false &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSEAlignCheck_3_01dim_00_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">SSEAlignCheck&lt; dim, UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1UniversalTersePrinter_3_01wchar__t_01_5_01_4.html">UniversalTersePrinter&lt; wchar_t * &gt;</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1DotEngine_3_01SV_00_01xpu_00_012_00_012_00_012_00_01transpose__left_00_01transpose__right_01_4.html">DotEngine&lt; SV, xpu, 2, 2, 2, transpose_left, transpose_right &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSECheck.html">SSECheck</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1UnpackPatchToColXExp.html">UnpackPatchToColXExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1red_1_1maximum.html">maximum</a> (<a class="el" href="namespacemshadow_1_1red.html">mshadow::red</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1DotExp.html">DotExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1PackColToPatchXExp.html">PackColToPatchXExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">SSECheck&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1UnPoolingExp.html">UnPoolingExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1minus.html">minus</a> (<a class="el" href="namespacemshadow_1_1op.h
 tml">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1DropoutLayer.html">DropoutLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1PaddingExp.html">PaddingExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">SSECheck&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Updater.html">Updater</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sv_1_1minusto.html">minusto</a> (<a class="el" href="namespacemshadow_1_1sv.html">mshadow::sv</a>)&#160;&#160;&#160;</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classsinga_1_1Param.html">Param</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01ScalarExp_01_4.html">SSECheck&lt; ScalarExp &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;V&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1mul.html">mul</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01Tensor_3_01cpu_00_01dim_01_4_01_4.html">SSECheck&lt; Tensor&lt; cpu, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sv_1_1multo.html">multo</a> (<a class="el" href="namespacemshadow_1_1sv.html">mshadow::sv</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1EmptyTestEventListener.html">EmptyTestEventListener</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParameterizedTestCaseInfo.html">ParameterizedTestCaseInfo</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SSECheck_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">SSECheck&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray1.html">ValueArray1</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1EnableIf.html">EnableIf</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParameterizedTestCaseInfoBase.html">ParameterizedTestCaseInfoBase</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1SSEOp.html">SSEOp</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray10.html">ValueArray10</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtesting_1_1internal_1_1EnableIf_3_01true_01_4.html">EnableIf&lt; true &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParameterizedTestCaseRegistry.html">ParameterizedTestCaseRegistry</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1div_01_4.html">SSEOp&lt; op::div &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray11.html">ValueArray11</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1plus.html">plus</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1Environment.html">Environment</a> (testing)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParameterizedTestFactory.html">ParameterizedTestFactory</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1identity_01_4.html">SSEOp&lt; op::identity &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray12.html">ValueArray12</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sv_1_1plusto.html">plusto</a> (<a class="el" href="namespacemshadow_1_1sv.html">mshadow::sv</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1EqHelper.html">EqHelper</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1minus_01_4.html">SSEOp&lt; op::minus &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray13.html">ValueArray13</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1power.html">power</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1EqHelper_3_01true_01_4.html">EqHelper&lt; true &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">ParamGeneratorInterface</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1mul_01_4.html">SSEOp&lt; op::mul &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray14.html">ValueArray14</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Exp.html">Exp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParamIterator.html">ParamIterator</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1sse2_1_1SSEOp_3_01op_1_1plus_01_4.html">SSEOp&lt; op::plus &gt;</a> (<a class="el" href="namespacemshadow_1_1sse2.html">mshadow::sse2</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray15.html">ValueArray15</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine.html">ExpComplexEngine</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ParamIteratorInterface.html">ParamIteratorInterface</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">SSEPlan</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray16.html">ValueArray16</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1relu.html">relu</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine_3_01SV_00_01Device_00_011_00_01ReduceTo1DExp_3_01EType_00_01Reducer_00_010_01_4_01_4.html">ExpComplexEngine&lt; SV, Device, 1, ReduceTo1DExp&lt; EType, Reducer, 0 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1ParserLayer.html">ParserLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray17.html">ValueArray17</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1relu__grad.html">relu_grad</a> (<a c
 lass="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine_3_01SV_00_01Device_00_011_00_01ReduceTo1DExp_3_01ETypeff38f24c2af0b97a027119d64099704c.html">ExpComplexEngine&lt; SV, Device, 1, ReduceTo1DExp&lt; EType, Reducer, dimkeep &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1Performance.html">Performance</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray18.html">ValueArray18</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1right.html">right</a> (<a class="e
 l" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpComplexEngine_3_01SV_00_01Device_00_01dim_00_01DotExp_3_01Tensor_3_0d2749ba7c02c3255b394f980e81ccfd3.html">ExpComplexEngine&lt; SV, Device, dim, DotExp&lt; Tensor&lt; Device, ldim &gt;, Tensor&lt; Device, rdim &gt;, ltrans, rtrans &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1Plan.html">Plan</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">SSEPlan&lt; ScalarExp &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray19.html">ValueArray19</a> (testing::internal)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_s"></a>
 <table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpEngine.html">ExpEngine</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">Plan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray2.html">ValueArray2</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpEngine_3_01SV_00_01Tensor_3_01Device_00_01dim_01_4_01_4.html">ExpEngine&lt; SV, Tensor&lt; Device, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01Broadcast1DExp_3_01Device_00_01dimdst_00_010_01_4_01_4.html">Plan&lt; Broadcast1DExp&lt; Device, dimdst, 0 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">SSEPlan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray20.html">ValueArray20</a> (testing::internal)&#160;&#160;&#160;</td><td valign="to
 p"><a class="el" href="structmshadow_1_1sv_1_1saveto.html">saveto</a> (<a class="el" href="namespacemshadow_1_1sv.html">mshadow::sv</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpInfo.html">ExpInfo</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01Broadcast1DExp_3_01Device_00_01dimdst_00_01dimcast_01_4_01_4.html">Plan&lt; Broadcast1DExp&lt; Device, dimdst, dimcast &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1StaticAssertTypeEqHelper.html">StaticAssertTypeEqHelper</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray21.html">ValueArray21</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1scoped__ptr.html">scoped_ptr</a> (testing::internal)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">ExpInfo&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01ChannelPoolingExp_3_01Reducer_00_01SrcExp_00_01srcdim_01_4_01_4.html">Plan&lt; ChannelPoolingExp&lt; Reducer, SrcExp, srcdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtesting_1_1internal_1_1StaticAssertTypeEqHelper_3_01T_00_01T_01_4.html">StaticAssertTypeEqHelper&lt; T, T &gt;</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray22.html">ValueArray22</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op
 _1_1sigmoid.html">sigmoid</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01MakeTensorExp_3_01T_00_01SrcExp_00_01dim_01_4_01_4.html">ExpInfo&lt; MakeTensorExp&lt; T, SrcExp, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01CroppingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html">Plan&lt; CroppingExp&lt; SrcExp, srcdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1String.html">String</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray23.html">ValueArray23</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1sigmoid__grad.html">sigmoid_grad</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#16
 0;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01ScalarExp_01_4.html">ExpInfo&lt; ScalarExp &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01MakeTensorExp_3_01SubType_00_01SrcExp_00_01dim_01_4_01_4.html">Plan&lt; MakeTensorExp&lt; SubType, SrcExp, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1SwapAxisExp.html">SwapAxisExp</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray24.html">ValueArray24</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1softplus.html">softplus</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>
 )&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">ExpInfo&lt; Tensor&lt; Device, dim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01MirroringExp_3_01SrcExp_00_01srcdim_01_4_01_4.html">Plan&lt; MirroringExp&lt; SrcExp, srcdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classSyncedMemory.html">SyncedMemory</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray25.html">ValueArray25</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1softplus__grad.html">softplus_grad</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1ExpInfo_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">ExpInfo&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01PackColToPatchXExp_3_01Device_00_01dstdim_01_4_01_4.html">Plan&lt; PackColToPatchXExp&lt; Device, dstdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray26.html">ValueArray26</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1sqrtop.html">sqrtop</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01PaddingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html">Plan&lt; PaddingExp&lt; SrcExp, srcdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray27.html">ValueArray27</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1square.html">square</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01PoolingExp_3_01Reducer_00_01SrcExp_00_01srcdim_01_4_01_4.html">Plan&lt; PoolingExp&lt; Reducer, SrcExp, srcdim &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classsinga_1_1TanhLayer.html">TanhLayer</a> (singa)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray28.html">ValueArray28</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1stanh.html">stanh</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classFactory.html">Factory</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01ReshapeExp_3_01SrcExp_00_01dimdst_00_011_01_4_01_4.html">Plan&lt; ReshapeExp&lt; SrcExp, dimdst, 1 &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray29.html">ValueArray29</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1op_1_1stanh__grad.html">stanh_grad</a> (<a class="el" href="namespacemshadow_1_1op.html">mshadow::op</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtesting_1_1internal_1_1FilePath.html">FilePath</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1expr_1_1Plan_3_01ReshapeExp_3_01SrcExp_00_01dimdst_00_01dimsrc_01_4_01_4.html">Plan&lt; ReshapeExp&lt; SrcExp, dimdst, dimsrc &gt; &gt;</a> (<a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1Tensor_3_01Device_00_011_01_4.html">Tensor&lt; Device, 1 &gt;</a> (<a class="el" href="namespacemshadow.html">mshadow</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtesting_1_1internal_1_1ValueArray3.html">ValueArray3</a> (testing::internal)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structmshadow_1_1red_1_1sum.html">sum</a> (<a class="el" href="namespacemshadow_1_1red.html">mshadow::red</a>)&#160;&#160;&#160;</td></tr>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href=
 "#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[50/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/Rakefile
----------------------------------------------------------------------
diff --git a/Rakefile b/Rakefile
new file mode 100644
index 0000000..0c0aa41
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,311 @@
+require "rubygems"
+require 'rake'
+require 'yaml'
+require 'time'
+
+SOURCE = "."
+CONFIG = {
+  'version' => "0.3.0",
+  'themes' => File.join(SOURCE, "_includes", "themes"),
+  'layouts' => File.join(SOURCE, "_layouts"),
+  'posts' => File.join(SOURCE, "_posts"),
+  'post_ext' => "md",
+  'theme_package_version' => "0.1.0"
+}
+
+# Path configuration helper
+module JB
+  class Path
+    SOURCE = "."
+    Paths = {
+      :layouts => "_layouts",
+      :themes => "_includes/themes",
+      :theme_assets => "assets/themes",
+      :theme_packages => "_theme_packages",
+      :posts => "_posts"
+    }
+    
+    def self.base
+      SOURCE
+    end
+
+    # build a path relative to configured path settings.
+    def self.build(path, opts = {})
+      opts[:root] ||= SOURCE
+      path = "#{opts[:root]}/#{Paths[path.to_sym]}/#{opts[:node]}".split("/")
+      path.compact!
+      File.__send__ :join, path
+    end
+  
+  end #Path
+end #JB
+
+# Usage: rake post title="A Title" [date="2012-02-09"] [tags=[tag1,tag2]] [category="category"]
+desc "Begin a new post in #{CONFIG['posts']}"
+task :post do
+  abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
+  title = ENV["title"] || "new-post"
+  tags = ENV["tags"] || "[]"
+  category = ENV["category"] || ""
+  category = "\"#{category.gsub(/-/,' ')}\"" if !category.empty?
+  slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
+  begin
+    date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d')
+  rescue => e
+    puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!"
+    exit -1
+  end
+  filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}")
+  if File.exist?(filename)
+    abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
+  end
+  
+  puts "Creating new post: #{filename}"
+  open(filename, 'w') do |post|
+    post.puts "---"
+    post.puts "layout: post"
+    post.puts "title: \"#{title.gsub(/-/,' ')}\""
+    post.puts 'description: ""'
+    post.puts "category: #{category}"
+    post.puts "tags: #{tags}"
+    post.puts "---"
+    post.puts "{% include JB/setup %}"
+  end
+end # task :post
+
+# Usage: rake page name="about.html"
+# You can also specify a sub-directory path.
+# If you don't specify a file extention we create an index.html at the path specified
+desc "Create a new page."
+task :page do
+  name = ENV["name"] || "new-page.md"
+  filename = File.join(SOURCE, "#{name}")
+  filename = File.join(filename, "index.html") if File.extname(filename) == ""
+  title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase}
+  if File.exist?(filename)
+    abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
+  end
+  
+  mkdir_p File.dirname(filename)
+  puts "Creating new page: #{filename}"
+  open(filename, 'w') do |post|
+    post.puts "---"
+    post.puts "layout: page"
+    post.puts "title: \"#{title}\""
+    post.puts 'description: ""'
+    post.puts "---"
+    post.puts "{% include JB/setup %}"
+  end
+end # task :page
+
+desc "Launch preview environment"
+task :preview do
+  system "jekyll serve -w"
+end # task :preview
+
+# Public: Alias - Maintains backwards compatability for theme switching.
+task :switch_theme => "theme:switch"
+
+namespace :theme do
+  
+  # Public: Switch from one theme to another for your blog.
+  #
+  # name - String, Required. name of the theme you want to switch to.
+  #        The theme must be installed into your JB framework.
+  #
+  # Examples
+  #
+  #   rake theme:switch name="the-program"
+  #
+  # Returns Success/failure messages.
+  desc "Switch between Jekyll-bootstrap themes."
+  task :switch do
+    theme_name = ENV["name"].to_s
+    theme_path = File.join(CONFIG['themes'], theme_name)
+    settings_file = File.join(theme_path, "settings.yml")
+    non_layout_files = ["settings.yml"]
+
+    abort("rake aborted: name cannot be blank") if theme_name.empty?
+    abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
+    abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts'])
+
+    Dir.glob("#{theme_path}/*") do |filename|
+      next if non_layout_files.include?(File.basename(filename).downcase)
+      puts "Generating '#{theme_name}' layout: #{File.basename(filename)}"
+
+      open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page|
+        if File.basename(filename, ".html").downcase == "default"
+          page.puts "---"
+          page.puts File.read(settings_file) if File.exist?(settings_file)
+          page.puts "---"
+        else
+          page.puts "---"
+          page.puts "layout: default"
+          page.puts "---"
+        end 
+        page.puts "{% include JB/setup %}"
+        page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}" 
+      end
+    end
+    
+    puts "=> Theme successfully switched!"
+    puts "=> Reload your web-page to check it out =)"
+  end # task :switch
+  
+  # Public: Install a theme using the theme packager.
+  # Version 0.1.0 simple 1:1 file matching.
+  #
+  # git  - String, Optional path to the git repository of the theme to be installed.
+  # name - String, Optional name of the theme you want to install.
+  #        Passing name requires that the theme package already exist.
+  #
+  # Examples
+  #
+  #   rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git"
+  #   rake theme:install name="cool-theme"
+  #
+  # Returns Success/failure messages.
+  desc "Install theme"
+  task :install do
+    if ENV["git"]
+      manifest = theme_from_git_url(ENV["git"])
+      name = manifest["name"]
+    else
+      name = ENV["name"].to_s.downcase
+    end
+
+    packaged_theme_path = JB::Path.build(:theme_packages, :node => name)
+    
+    abort("rake aborted!
+      => ERROR: 'name' cannot be blank") if name.empty?
+    abort("rake aborted! 
+      => ERROR: '#{packaged_theme_path}' directory not found.
+      => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap
+      => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'`
+      => example : rake theme:install git='git@github.com:jekyllbootstrap/theme-the-program.git'
+    ") unless FileTest.directory?(packaged_theme_path)
+    
+    manifest = verify_manifest(packaged_theme_path)
+    
+    # Get relative paths to packaged theme files
+    # Exclude directories as they'll be recursively created. Exclude meta-data files.
+    packaged_theme_files = []
+    FileUtils.cd(packaged_theme_path) {
+      Dir.glob("**/*.*") { |f| 
+        next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i )
+        packaged_theme_files << f 
+      }
+    }
+    
+    # Mirror each file into the framework making sure to prompt if already exists.
+    packaged_theme_files.each do |filename|
+      file_install_path = File.join(JB::Path.base, filename)
+      if File.exist? file_install_path and ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
+        next
+      else
+        mkdir_p File.dirname(file_install_path)
+        cp_r File.join(packaged_theme_path, filename), file_install_path
+      end
+    end
+    
+    puts "=> #{name} theme has been installed!"
+    puts "=> ---"
+    if ask("=> Want to switch themes now?", ['y', 'n']) == 'y'
+      system("rake switch_theme name='#{name}'")
+    end
+  end
+
+  # Public: Package a theme using the theme packager.
+  # The theme must be structured using valid JB API.
+  # In other words packaging is essentially the reverse of installing.
+  #
+  # name - String, Required name of the theme you want to package.
+  #        
+  # Examples
+  #
+  #   rake theme:package name="twitter"
+  #
+  # Returns Success/failure messages.
+  desc "Package theme"
+  task :package do
+    name = ENV["name"].to_s.downcase
+    theme_path = JB::Path.build(:themes, :node => name)
+    asset_path = JB::Path.build(:theme_assets, :node => name)
+
+    abort("rake aborted: name cannot be blank") if name.empty?
+    abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
+    abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path)
+    
+    ## Mirror theme's template directory (_includes)
+    packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name))
+    mkdir_p packaged_theme_path
+    cp_r theme_path, packaged_theme_path
+    
+    ## Mirror theme's asset directory
+    packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name))
+    mkdir_p packaged_theme_assets_path
+    cp_r asset_path, packaged_theme_assets_path
+
+    ## Log packager version
+    packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } }
+    open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page|
+      page.puts packager.to_yaml
+    end
+    
+    puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}"
+  end
+  
+end # end namespace :theme
+
+# Internal: Download and process a theme from a git url.
+# Notice we don't know the name of the theme until we look it up in the manifest.
+# So we'll have to change the folder name once we get the name.
+#
+# url - String, Required url to git repository.
+#        
+# Returns theme manifest hash
+def theme_from_git_url(url)
+  tmp_path = JB::Path.build(:theme_packages, :node => "_tmp")
+  abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}")
+  manifest = verify_manifest(tmp_path)
+  new_path = JB::Path.build(:theme_packages, :node => manifest["name"])
+  if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n'
+    remove_dir(tmp_path)
+    abort("rake aborted: '#{manifest["name"]}' already exists as theme package.")
+  end
+
+  remove_dir(new_path) if File.exist?(new_path)
+  mv(tmp_path, new_path)
+  manifest
+end
+
+# Internal: Process theme package manifest file.
+#
+# theme_path - String, Required. File path to theme package.
+#        
+# Returns theme manifest hash
+def verify_manifest(theme_path)
+  manifest_path = File.join(theme_path, "manifest.yml")
+  manifest_file = File.open( manifest_path )
+  abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file
+  manifest = YAML.load( manifest_file )
+  manifest_file.close
+  manifest
+end
+
+def ask(message, valid_options)
+  if valid_options
+    answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
+  else
+    answer = get_stdin(message)
+  end
+  answer
+end
+
+def get_stdin(message)
+  print message
+  STDIN.gets.chomp
+end
+
+#Load custom rake scripts
+Dir['_rake/*.rake'].each { |r| load r }

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_config-prod.yml
----------------------------------------------------------------------
diff --git a/_config-prod.yml b/_config-prod.yml
new file mode 100644
index 0000000..e497b30
--- /dev/null
+++ b/_config-prod.yml
@@ -0,0 +1,5 @@
+# singa.incubator.apache.org
+#
+
+JB:
+  BASE_PATH: ""

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..32634db
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,130 @@
+# This is the default format.
+# For more see: http://jekyllrb.com/docs/permalinks/
+permalink: /:categories/:title
+
+exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
+highlighter: pygments
+
+# Themes are encouraged to use these universal variables
+# so be sure to set them if your theme uses them.
+#
+time: 2015-05-06
+title : Apache SINGA
+author :
+  email : dev@singa.incubator.apache.org
+  #name : SINGA
+  #github:
+
+# The production_url is only used when full-domain names are needed
+# such as sitemap.txt
+# Most places will/should use BASE_PATH to make the urls
+#
+# If you have set a CNAME (pages.github.com) set your custom domain here.
+# Else if you are pushing to username.github.io, replace with your username.
+# Finally if you are pushing to a GitHub project page, include the project name at the end.
+##http://nusinga.github.io
+#production_url :
+
+# All Jekyll-Bootstrap specific configurations are namespaced into this hash
+#
+safe : true
+JB :
+  version : 0.3.0
+
+  # All links will be namespaced by BASE_PATH if defined.
+  # Links in your website should always be prefixed with {{BASE_PATH}}
+  # however this value will be dynamically changed depending on your deployment situation.
+  #
+  # CNAME (http://yourcustomdomain.com)
+  #   DO NOT SET BASE_PATH
+  #   (urls will be prefixed with "/" and work relatively)
+  #
+  # GitHub Pages (http://username.github.io)
+  #   DO NOT SET BASE_PATH
+  #   (urls will be prefixed with "/" and work relatively)
+  #
+  # GitHub Project Pages (http://username.github.io/project-name)
+  #
+  #   A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
+  #  REQUIRED! Set BASE_PATH to: http://username.github.io/project-name
+  #
+  # CAUTION:
+  #   - When in Localhost, your site will run from root "/" regardless of BASE_PATH
+  #   - Only the following values are falsy: ["", null, false]
+  #   - When setting BASE_PATH it must be a valid url.
+  #     This means always setting the protocol (http|https) or prefixing with "/"
+  #
+  BASE_PATH :  "/singa" #http://www.comp.nus.edu.sg/~wangwei
+
+  # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
+  # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
+  #
+  # Override this by defining an absolute path to assets here.
+  # ex:
+  #   http://s3.amazonaws.com/yoursite/themes/watermelon
+  #   /assets
+  #
+  #ASSET_PATH :
+
+  # These paths are to the main pages Jekyll-Bootstrap ships with.
+  # Some JB helpers refer to these paths; change them here if needed.
+  #
+  archive_path: /archive.html
+  categories_path : /categories.html
+  tags_path : /tags.html
+  atom_path : /atom.xml
+  rss_path : /rss.xml
+
+  # Settings for comments helper
+  # Set 'provider' to the comment provider you want to use.
+  # Set 'provider' to false to turn commenting off globally.
+  #
+  comments :
+    provider : disqus
+    disqus :
+      short_name : nusinga
+    livefyre :
+      site_id : 123
+    intensedebate :
+      account : 123abc
+    facebook :
+      appid : 123
+      num_posts: 5
+      width: 580
+      colorscheme: light
+
+  # Settings for analytics helper
+  # Set 'provider' to the analytics provider you want to use.
+  # Set 'provider' to false to turn analytics off globally.
+  #
+  analytics :
+    provider : google
+    google :
+      tracking_id : 'UA-58709187-1'
+    getclicky :
+      site_id :
+    mixpanel :
+        token : '_MIXPANEL_TOKEN_'
+    piwik :
+        baseURL : 'myserver.tld/piwik' # Piwik installation address (without protocol)
+        idsite : '1'                   # the id of the site on Piwik
+
+  # Settings for sharing helper.
+  # Sharing is for things like tweet, plusone, like, reddit buttons etc.
+  # Set 'provider' to the sharing provider you want to use.
+  # Set 'provider' to false to turn sharing off globally.
+  #
+  sharing :
+    provider : false
+
+  # Settings for all other include helpers can be defined by creating
+  # a hash with key named for the given helper. ex:
+  #
+  #   pages_list :
+  #     provider : "custom"
+  #
+  # Setting any helper's provider to 'custom' will bypass the helper code
+  # and include your custom code. Your custom file must be defined at:
+  #   ./_includes/custom/[HELPER]
+  # where [HELPER] is the name of the helper you are overriding.
+

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_drafts/jekyll-introduction-draft.md
----------------------------------------------------------------------
diff --git a/_drafts/jekyll-introduction-draft.md b/_drafts/jekyll-introduction-draft.md
new file mode 100644
index 0000000..88b93f0
--- /dev/null
+++ b/_drafts/jekyll-introduction-draft.md
@@ -0,0 +1,10 @@
+---
+layout: post
+category : lessons
+tagline: "Supporting tagline"
+tags : [intro, beginner, jekyll, tutorial]
+---
+{% include JB/setup %}
+
+
+This is an example of a draft. Read more here: [http://jekyllrb.com/docs/drafts/](http://jekyllrb.com/docs/drafts/)

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/analytics
----------------------------------------------------------------------
diff --git a/_includes/JB/analytics b/_includes/JB/analytics
new file mode 100644
index 0000000..951a0e3
--- /dev/null
+++ b/_includes/JB/analytics
@@ -0,0 +1,16 @@
+{% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %}
+
+{% case site.JB.analytics.provider %}
+{% when "google" %}
+  {% include JB/analytics-providers/google %}
+{% when "getclicky" %}
+  {% include JB/analytics-providers/getclicky %}
+{% when "mixpanel" %}
+  {% include JB/analytics-providers/mixpanel %}
+{% when "piwik" %}
+  {% include JB/analytics-providers/piwik %}
+{% when "custom" %}
+  {% include custom/analytics %}
+{% endcase %}
+
+{% endif %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/analytics-providers/getclicky
----------------------------------------------------------------------
diff --git a/_includes/JB/analytics-providers/getclicky b/_includes/JB/analytics-providers/getclicky
new file mode 100644
index 0000000..e9462f4
--- /dev/null
+++ b/_includes/JB/analytics-providers/getclicky
@@ -0,0 +1,12 @@
+<script type="text/javascript">
+var clicky_site_ids = clicky_site_ids || [];
+clicky_site_ids.push({{ site.JB.analytics.getclicky.site_id }});
+(function() {
+  var s = document.createElement('script');
+  s.type = 'text/javascript';
+  s.async = true;
+  s.src = '//static.getclicky.com/js';
+  ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
+})();
+</script>
+<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/{{ site.JB.analytics.getclicky.site_id }}ns.gif" /></p></noscript>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/analytics-providers/google
----------------------------------------------------------------------
diff --git a/_includes/JB/analytics-providers/google b/_includes/JB/analytics-providers/google
new file mode 100644
index 0000000..9014866
--- /dev/null
+++ b/_includes/JB/analytics-providers/google
@@ -0,0 +1,11 @@
+<script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', '{{ site.JB.analytics.google.tracking_id }}']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/analytics-providers/mixpanel
----------------------------------------------------------------------
diff --git a/_includes/JB/analytics-providers/mixpanel b/_includes/JB/analytics-providers/mixpanel
new file mode 100644
index 0000000..4406eb0
--- /dev/null
+++ b/_includes/JB/analytics-providers/mixpanel
@@ -0,0 +1,11 @@
+<script type="text/javascript">
+    var mpq = [];
+    mpq.push(["init", "{{ site.JB.analytics.mixpanel.token}}"]);
+    (function(){var b,a,e,d,c;b=document.createElement("script");b.type="text/javascript";
+    b.async=true;b.src=(document.location.protocol==="https:"?"https:":"http:")+
+    "//api.mixpanel.com/site_media/js/api/mixpanel.js";a=document.getElementsByTagName("script")[0];
+    a.parentNode.insertBefore(b,a);e=function(f){return function(){mpq.push(
+    [f].concat(Array.prototype.slice.call(arguments,0)))}};d=["init","track","track_links",
+    "track_forms","register","register_once","identify","name_tag","set_config"];for(c=0;c<
+    d.length;c++){mpq[d[c]]=e(d[c])}})();
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/analytics-providers/piwik
----------------------------------------------------------------------
diff --git a/_includes/JB/analytics-providers/piwik b/_includes/JB/analytics-providers/piwik
new file mode 100755
index 0000000..077a373
--- /dev/null
+++ b/_includes/JB/analytics-providers/piwik
@@ -0,0 +1,10 @@
+<script type="text/javascript">
+  var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ site.JB.analytics.piwik.baseURL }}/" : "http://{{ site.JB.analytics.piwik.baseURL }}/");
+  document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
+</script><script type="text/javascript">
+  try {
+    var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ site.JB.analytics.piwik.idsite }});
+    piwikTracker.trackPageView();
+    piwikTracker.enableLinkTracking();
+  } catch( err ) {}
+</script><noscript><p><img src="http://{{ site.JB.analytics.piwik.baseURL }}/piwik.php?idsite={{ site.JB.analytics.piwik.idsite }}" style="border:0" alt="" /></p></noscript>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/categories_list
----------------------------------------------------------------------
diff --git a/_includes/JB/categories_list b/_includes/JB/categories_list
new file mode 100644
index 0000000..83be2e2
--- /dev/null
+++ b/_includes/JB/categories_list
@@ -0,0 +1,37 @@
+{% comment %}<!--
+The categories_list include is a listing helper for categories.
+Usage:
+  1) assign the 'categories_list' variable to a valid array of tags.
+  2) include JB/categories_list
+  example:
+    <ul>
+  	  {% assign categories_list = site.categories %}  
+  	  {% include JB/categories_list %}
+  	</ul>
+  
+  Notes: 
+    Categories can be either a Hash of Category objects (hashes) or an Array of category-names (strings).
+    The encapsulating 'if' statement checks whether categories_list is a Hash or Array.
+    site.categories is a Hash while page.categories is an array.
+    
+  This helper can be seen in use at: ../_layouts/default.html
+-->{% endcomment %}
+
+{% if site.JB.categories_list.provider == "custom" %}
+  {% include custom/categories_list %}
+{% else %}
+  {% if categories_list.first[0] == null %}
+    {% for category in categories_list %} 
+    	<li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}#{{ category }}-ref">
+    		{{ category | join: "/" }} <span>{{ site.categories[category].size }}</span>
+    	</a></li>
+    {% endfor %}
+  {% else %}
+    {% for category in categories_list %} 
+    	<li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}#{{ category[0] }}-ref">
+    		{{ category[0] | join: "/" }} <span>{{ category[1].size }}</span>
+    	</a></li>
+    {% endfor %}
+  {% endif %}
+{% endif %}
+{% assign categories_list = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/comments
----------------------------------------------------------------------
diff --git a/_includes/JB/comments b/_includes/JB/comments
new file mode 100644
index 0000000..4e9e600
--- /dev/null
+++ b/_includes/JB/comments
@@ -0,0 +1,16 @@
+{% if site.JB.comments.provider and page.comments != false %}
+
+{% case site.JB.comments.provider %}
+{% when "disqus" %}
+  {% include JB/comments-providers/disqus %}
+{% when "livefyre" %}
+  {% include JB/comments-providers/livefyre %}
+{% when "intensedebate" %}
+  {% include JB/comments-providers/intensedebate %}
+{% when "facebook" %}
+  {% include JB/comments-providers/facebook %}
+{% when "custom" %}
+  {% include custom/comments %}
+{% endcase %}
+
+{% endif %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/comments-providers/disqus
----------------------------------------------------------------------
diff --git a/_includes/JB/comments-providers/disqus b/_includes/JB/comments-providers/disqus
new file mode 100644
index 0000000..618a7b7
--- /dev/null
+++ b/_includes/JB/comments-providers/disqus
@@ -0,0 +1,14 @@
+<div id="disqus_thread"></div>
+<script type="text/javascript">
+    {% if site.safe == false %}var disqus_developer = 1;{% endif %}
+    var disqus_shortname = '{{ site.JB.comments.disqus.short_name }}'; // required: replace example with your forum shortname
+    {% if page.wordpress_id %}var disqus_identifier = '{{page.wordpress_id}} {{site.production_url}}/?p={{page.wordpress_id}}';{% endif %}
+    /* * * DON'T EDIT BELOW THIS LINE * * */
+    (function() {
+        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+    })();
+</script>
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/comments-providers/facebook
----------------------------------------------------------------------
diff --git a/_includes/JB/comments-providers/facebook b/_includes/JB/comments-providers/facebook
new file mode 100644
index 0000000..6b3e5e0
--- /dev/null
+++ b/_includes/JB/comments-providers/facebook
@@ -0,0 +1,9 @@
+<div id="fb-root"></div>
+<script>(function(d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) return;
+  js = d.createElement(s); js.id = id;
+  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={{ site.JB.comments.facebook.appid }}";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+<div class="fb-comments" data-href="{{ site.production_url }}" data-num-posts="{{ site.JB.comments.facebook.num_posts }}" data-width="{{ site.JB.comments.facebook.width }}" data-colorscheme="{{ site.JB.comments.facebook.colorscheme }}"></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/comments-providers/intensedebate
----------------------------------------------------------------------
diff --git a/_includes/JB/comments-providers/intensedebate b/_includes/JB/comments-providers/intensedebate
new file mode 100644
index 0000000..ab0c3c9
--- /dev/null
+++ b/_includes/JB/comments-providers/intensedebate
@@ -0,0 +1,6 @@
+<script>
+var idcomments_acct = '{{ site.JB.comments.intensedebate.account }}';
+var idcomments_post_id;
+var idcomments_post_url;
+</script>
+<script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/comments-providers/livefyre
----------------------------------------------------------------------
diff --git a/_includes/JB/comments-providers/livefyre b/_includes/JB/comments-providers/livefyre
new file mode 100644
index 0000000..704b803
--- /dev/null
+++ b/_includes/JB/comments-providers/livefyre
@@ -0,0 +1,6 @@
+<script type='text/javascript' src='http://zor.livefyre.com/wjs/v1.0/javascripts/livefyre_init.js'></script>
+<script type='text/javascript'>
+    var fyre = LF({
+        site_id: {{ site.JB.comments.livefyre.site_id }}
+    });
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/liquid_raw
----------------------------------------------------------------------
diff --git a/_includes/JB/liquid_raw b/_includes/JB/liquid_raw
new file mode 100644
index 0000000..da2d359
--- /dev/null
+++ b/_includes/JB/liquid_raw
@@ -0,0 +1,32 @@
+{% comment%}<!--
+The liquid_raw helper is a way to display raw liquid code, as opposed to parsing it.
+Normally you'd use Liquid's built in 'raw' tag. 
+The problem is GitHub Jekyll does not support the current Liquid release.
+GitHub Jekyll supports the deprecated 'literal' tag.
+Using one will break the other if you plan to deploy to GitHub pages.
+  see: https://github.com/mojombo/jekyll/issues/425
+
+Since I don't want to mess with Liquid versions, I'll just rewrite the way I 
+intend to give liquid examples. It's not an elegant solution by any means:
+
+Usage: 
+  1) Define a 'text' variable with the block of liquid code you intend to display.
+  2) Pass the text variable to include JB/liquid_raw
+
+  example:
+  {% capture text %}|.% for tag in tags_list %.|
+    <li><a href="|.{ site.var.tags_path }.||.{ tag[0] }.|-ref">|.{ tag[0] }.| <span>|.{tag[1].size}.|</span></a></li>
+  |.% endfor %.|
+
+  |.% assign tags_list = null %.|{% endcapture %}    
+  {% include JB/liquid_raw %}
+  
+  As seen here, you must use "|." and ".|" as opening and closing brackets.
+-->{% endcomment%}
+
+{% if site.JB.liquid_raw.provider == "custom" %}
+  {% include custom/liquid_raw %}
+{% else %}
+  <pre><code>{{text | replace:"|.", "&#123;" | replace:".|", "&#125;" | replace:">", "&gt;" | replace:"<", "&lt;" }}</code></pre>
+{% endif %}
+{% assign text = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/pages_list
----------------------------------------------------------------------
diff --git a/_includes/JB/pages_list b/_includes/JB/pages_list
new file mode 100644
index 0000000..05e0525
--- /dev/null
+++ b/_includes/JB/pages_list
@@ -0,0 +1,39 @@
+{% comment %}<!--
+The pages_list include is a listing helper.
+Usage:
+  1) assign the 'pages_list' variable to a valid array of pages or posts.
+  2) include JB/pages_list
+  example:
+    <ul>
+  	  {% assign pages_list = site.pages %}
+  	  {% include JB/pages_list %}
+  	</ul>
+
+  Grouping: (optional):
+  	assign the 'group' variable to constrain the list to only pages/posts
+  	in the given group. Note you must define the group manually in the page/post
+  	meta-data to use this feature.
+  	Grouping is mainly helpful for non-post pages.
+  	If you want to group posts, it's easier/better to tag them, then pass the tagged posts array.
+  	i.e. site.tags.cool_tag (this returns an array of posts tagged: cool_tag)
+
+  This helper can be seen in use at: ../_layouts/default.html
+-->{% endcomment %}
+
+{% if site.JB.pages_list.provider == "custom" %}
+  {% include custom/pages_list %}
+{% else %}
+  {% for node in pages_list %}
+    {% if node.title != null %}
+      {% if group == null or group == node.group %}
+      	{% if page.url == node.url %}
+      	<li class="active"><a href="{{ BASE_PATH }}{{node.url}}" class="active">{{node.title}}</a></li>
+      	{% else %}
+      	<li><a href="{{ BASE_PATH }}{{node.url}}">{{node.title}}</a></li>
+      	{% endif %}
+      {% endif %}
+    {% endif %}
+  {% endfor %}
+{% endif %}
+{% assign pages_list = nil %}
+{% assign group = nil %}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/posts_collate
----------------------------------------------------------------------
diff --git a/_includes/JB/posts_collate b/_includes/JB/posts_collate
new file mode 100644
index 0000000..f612ade
--- /dev/null
+++ b/_includes/JB/posts_collate
@@ -0,0 +1,55 @@
+{% comment %}<!--
+Collate_posts helper. Collated posts by year and month.
+Usage:
+  1) assign the 'posts_collate' variable to a valid array of posts.
+  2) include JB/posts_collate
+  example:
+    {% assign posts_collate = site.posts %}
+    {% include JB/posts_collate %}
+
+  Ordering:
+    Posts are displayed in reverse chronological order.
+    For normal chronological order:
+      1) Change the for loop to this:
+        => 'for post in site.posts reversed'
+      2) Next make sure to change 'post.previous.date' to:
+        => 'post.next.date'
+        
+-->{% endcomment %}
+
+{% if site.JB.posts_collate.provider == "custom" %}
+  {% include custom/posts_collate %}
+{% else %}
+  {% for post in posts_collate  %}
+    {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
+    {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
+    {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
+    {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %}
+  
+    {% if forloop.first %}
+      <h2>{{this_year}}</h2>
+      <h3>{{this_month}}</h3>
+      <ul>
+    {% endif %}
+  
+    <li><span>{{ post.date | date: "%B %e, %Y" }}</span> &raquo; <a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
+  
+    {% if forloop.last %}
+      </ul>
+    {% else %}
+      {% if this_year != next_year %}
+        </ul>
+        <h2>{{next_year}}</h2>
+        <h3>{{next_month}}</h3>
+        <ul>
+      {% else %}    
+        {% if this_month != next_month %}
+          </ul>
+          <h3>{{next_month}}</h3>
+          <ul>
+        {% endif %}
+      {% endif %}
+    {% endif %}
+  {% endfor %}
+{% endif %}
+{% assign posts_collate = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/setup
----------------------------------------------------------------------
diff --git a/_includes/JB/setup b/_includes/JB/setup
new file mode 100644
index 0000000..efcd84b
--- /dev/null
+++ b/_includes/JB/setup
@@ -0,0 +1,22 @@
+{% capture jbcache %}
+  <!--
+  - Dynamically set liquid variables for working with URLs/paths
+  -->
+  {% if site.JB.setup.provider == "custom" %}
+    {% include custom/setup %}
+  {% else %}
+    {% if site.safe and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %}
+      {% assign BASE_PATH = site.JB.BASE_PATH %}
+      {% assign HOME_PATH = site.JB.BASE_PATH %}
+    {% else %}
+      {% assign BASE_PATH = nil %}
+      {% assign HOME_PATH = "/" %}
+    {% endif %}
+
+    {% if site.JB.ASSET_PATH %}
+      {% assign ASSET_PATH = site.JB.ASSET_PATH %}
+    {% else %}
+      {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %}
+    {% endif %}  
+  {% endif %}
+{% endcapture %}{% assign jbcache = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/sharing
----------------------------------------------------------------------
diff --git a/_includes/JB/sharing b/_includes/JB/sharing
new file mode 100644
index 0000000..f5b1151
--- /dev/null
+++ b/_includes/JB/sharing
@@ -0,0 +1,8 @@
+{% if site.safe and site.JB.sharing.provider and page.JB.sharing != false %}
+
+{% case site.JB.sharing.provider %}
+{% when "custom" %}
+  {% include custom/sharing %}
+{% endcase %}
+
+{% endif %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/JB/tags_list
----------------------------------------------------------------------
diff --git a/_includes/JB/tags_list b/_includes/JB/tags_list
new file mode 100644
index 0000000..8eb62a7
--- /dev/null
+++ b/_includes/JB/tags_list
@@ -0,0 +1,33 @@
+{% comment %}<!--
+The tags_list include is a listing helper for tags.
+Usage:
+  1) assign the 'tags_list' variable to a valid array of tags.
+  2) include JB/tags_list
+  example:
+    <ul>
+  	  {% assign tags_list = site.tags %}  
+  	  {% include JB/tags_list %}
+  	</ul>
+  
+  Notes: 
+    Tags can be either a Hash of tag objects (hashes) or an Array of tag-names (strings).
+    The encapsulating 'if' statement checks whether tags_list is a Hash or Array.
+    site.tags is a Hash while page.tags is an array.
+    
+  This helper can be seen in use at: ../_layouts/default.html
+-->{% endcomment %}
+
+{% if site.JB.tags_list.provider == "custom" %}
+  {% include custom/tags_list %}
+{% else %}
+  {% if tags_list.first[0] == null %}
+    {% for tag in tags_list %} 
+    	<li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag }}-ref">{{ tag }} <span>{{ site.tags[tag].size }}</span></a></li>
+    {% endfor %}
+  {% else %}
+    {% for tag in tags_list %} 
+    	<li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag[0] }}-ref">{{ tag[0] }} <span>{{ tag[1].size }}</span></a></li>
+    {% endfor %}
+  {% endif %}
+{% endif %}
+{% assign tags_list = nil %}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/bootstrap-3/default.html
----------------------------------------------------------------------
diff --git a/_includes/themes/bootstrap-3/default.html b/_includes/themes/bootstrap-3/default.html
new file mode 100644
index 0000000..bc5b220
--- /dev/null
+++ b/_includes/themes/bootstrap-3/default.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+
+    <title>{{ page.title }}</title>
+    {% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
+    <meta name="author" content="{{ site.author.name }}">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Bootstrap styles -->
+    <link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+    <!-- Optional theme -->
+    <link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap-theme.min.css" rel="stylesheet">
+    <!-- Sticky Footer -->
+    <link href="{{ ASSET_PATH }}/bootstrap/css/bs-sticky-footer.css" rel="stylesheet">
+    
+    <!-- Custom styles -->
+    <link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">
+
+    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+      <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+    <![endif]-->
+
+    <!-- Fav and touch icons -->
+    <!-- Update these with your own images
+      <link rel="shortcut icon" href="images/favicon.ico">
+      <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+      <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+      <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- atom & rss feed -->
+    <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="{{ BASE_PATH }}{{ site.JB.rss_path }}" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+
+  </head>
+
+  <body>
+    <div id="wrap">
+      <nav class="navbar navbar-default" role="navigation">
+        <!-- Brand and toggle get grouped for better mobile display -->
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#jb-navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="{{ HOME_PATH }}">{{ site.title }}</a>
+        </div>
+
+        <!-- Collect the nav links, forms, and other content for toggling -->
+        <div class="collapse navbar-collapse" id="jb-navbar-collapse">
+          <ul class="nav navbar-nav">
+            {% assign pages_list = site.pages %}
+            {% assign group = 'navigation' %}
+            {% include JB/pages_list %}
+          </ul>
+          <form class="navbar-form navbar-right" role="search">
+            <div class="form-group">
+              <input type="text" class="form-control" placeholder="Search">
+            </div>
+            <button type="submit" class="btn btn-default">Submit</button>
+          </form>
+        </div><!-- /.navbar-collapse -->
+      </nav>
+
+      <div class="container">
+        {{ content }}
+      </div>
+
+    </div>
+
+    <div id="footer">
+      <div class="container">
+        <p>&copy; {{ site.time | date: '%Y' }} {{ site.author.name }}
+          with help from <a href="http://jekyllbootstrap.com" target="_blank" title="The Definitive Jekyll Blogging Framework">Jekyll Bootstrap</a>
+          and <a href="http://twitter.github.com/bootstrap/" target="_blank">Twitter Bootstrap</a>
+        </p>
+      </div>
+    </div>
+
+    {% include JB/analytics %}
+
+
+    <!-- Latest compiled and minified JavaScript, requires jQuery 1.x (2.x not supported in IE8) -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
+    <script src="{{ ASSET_PATH }}/bootstrap/js/bootstrap.min.js"></script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/bootstrap-3/page.html
----------------------------------------------------------------------
diff --git a/_includes/themes/bootstrap-3/page.html b/_includes/themes/bootstrap-3/page.html
new file mode 100644
index 0000000..e981ad9
--- /dev/null
+++ b/_includes/themes/bootstrap-3/page.html
@@ -0,0 +1,9 @@
+<div class="page-header">
+  <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
+</div>
+
+<div class="row">
+  <div class="col-xs-12">
+    {{ content }}
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/bootstrap-3/post.html
----------------------------------------------------------------------
diff --git a/_includes/themes/bootstrap-3/post.html b/_includes/themes/bootstrap-3/post.html
new file mode 100644
index 0000000..85cc0f4
--- /dev/null
+++ b/_includes/themes/bootstrap-3/post.html
@@ -0,0 +1,47 @@
+<div class="page-header">
+  <h1>{{ page.title }} {% if page.tagline %}<small>{{page.tagline}}</small>{% endif %}</h1>
+</div>
+
+<div class="row post-full">
+  <div class="col-xs-12">
+    <div class="date">
+      <span>{{ page.date | date_to_long_string }}</span>
+    </div>
+    <div class="content">
+      {{ content }}
+    </div>
+
+  {% unless page.categories == empty %}
+    <ul class="tag_box inline">
+      <li><i class="glyphicon glyphicon-open"></i></li>
+      {% assign categories_list = page.categories %}
+      {% include JB/categories_list %}
+    </ul>
+  {% endunless %}  
+
+  {% unless page.tags == empty %}
+    <ul class="tag_box inline">
+      <li><i class="glyphicon glyphicon-tags"></i></li>
+      {% assign tags_list = page.tags %}
+      {% include JB/tags_list %}
+    </ul>
+  {% endunless %}  
+  
+    <hr>
+    <ul class="pagination">
+    {% if page.previous %}
+      <li class="prev"><a href="{{ BASE_PATH }}{{ page.previous.url }}" title="{{ page.previous.title }}">&laquo; Previous</a></li>
+    {% else %}
+      <li class="prev disabled"><a>&larr; Previous</a></li>
+    {% endif %}
+      <li><a href="{{ BASE_PATH }}{{ site.JB.archive_path }}">Archive</a></li>
+    {% if page.next %}
+      <li class="next"><a href="{{ BASE_PATH }}{{ page.next.url }}" title="{{ page.next.title }}">Next &raquo;</a></li>
+    {% else %}
+      <li class="next disabled"><a>Next &rarr;</a>
+    {% endif %}
+    </ul>
+    <hr>
+    {% include JB/comments %}
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/bootstrap-3/settings.yml
----------------------------------------------------------------------
diff --git a/_includes/themes/bootstrap-3/settings.yml b/_includes/themes/bootstrap-3/settings.yml
new file mode 100644
index 0000000..379bfbc
--- /dev/null
+++ b/_includes/themes/bootstrap-3/settings.yml
@@ -0,0 +1,2 @@
+theme :
+  name : bootstrap-3
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/twitter/default.html
----------------------------------------------------------------------
diff --git a/_includes/themes/twitter/default.html b/_includes/themes/twitter/default.html
new file mode 100644
index 0000000..6074ac0
--- /dev/null
+++ b/_includes/themes/twitter/default.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>{{ page.title }}</title>
+    {% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
+    <meta name="author" content="{{ site.author.name }}">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap.2.2.2.min.css" rel="stylesheet">
+    <link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">
+    <link rel="shortcut icon" type="image/x-icon" href="{{ ASSET_PATH }}/css/favicon.ico">
+
+    <!-- Le fav and touch icons -->
+  <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+  -->
+
+    <!-- atom & rss feed -->
+    <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="{{ BASE_PATH }}{{ site.JB.rss_path }}" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+
+    <!-- toc -->
+    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
+    <script src="{{ ASSET_PATH }}/js/toc.js"></script>
+    <script type="text/javascript">
+        $(document).ready(function() {
+        $('#toc').toc();
+        });
+    </script>
+    <style >
+        .clickable-header {
+            cursor:pointer;
+        }
+        .clickable-header:hover {
+            text-decoration:underline;
+        }
+        .top-level-header {
+            display:inline;
+        }
+        .back-to-top {
+            margin-left:5px;
+              cursor:pointer;
+        }
+        #backtotop {
+          position: fixed;
+          left: 50%;
+          bottom: 100px;
+          margin-left:520px;
+          width: 30px;
+          height: 30px;
+        }
+        #toc, .toc, .mw-warning {
+          background-color: #FFF;
+          border-left: 1px solid #AAAAAA;
+          font-size: 95%;
+          padding-top: 45px;
+          position: fixed;
+          top: 0px;
+          left: 50%;
+          margin-left: 520px;
+        }
+        #toc strong{
+          margin:20px;
+        }
+    </style>
+
+  </head>
+
+  <body>
+  <a href="https://github.com/apache/incubator-singa"><img style="position: absolute; top: 0;
+    left: 0; border: 0;"
+    src="https://camo.githubusercontent.com/8b6b8ccc6da3aa5722903da7b58eb5ab1081adee/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6f72616e67655f6666373630302e706e67"
+    alt="Fork me on GitHub"
+    data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_orange_ff7600.png"></a>
+
+  <div id="topanchor"></div>
+    <div class="navbar">
+      <div class="navbar-inner">
+        <div class="container-narrow">
+          <a class="brand" href="{{ HOME_PATH }}">{{ site.title }}</a>
+          <ul class="nav">
+            {% assign pages_list = site.pages %}
+            {% assign group = 'navigation' %}
+            {% include JB/pages_list %}
+          </ul>
+        </div>
+      </div>
+    </div>
+    <div class="container-narrow">
+      <div class="content">
+        {{ content }}
+      </div>
+      <hr>
+      <footer>
+        <p>Copyright &copy; {{ site.time | date: '%Y' }} {{ site.author.name }}
+        The Apache Software Foundation. All rights reserved.
+
+        Apache Singa, Apache, the Apache feather logo, and the Apache Singa
+        project logos are trademarks of The Apache Software Foundation. All
+        other marks mentioned may be trademarks or registered trademarks of
+        their respective owners.
+        <a href="./privacy.html"> Privacy Policy </a>.
+        </p>
+      </footer>
+
+    </div>
+
+    <!-- back to top
+    <div id="backtotop">
+      <a href="#topanchor"><i class="icon-arrow-up back-to-top"></i>Top</a>
+    </div>-->
+
+    {% include JB/analytics %}
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/twitter/frontpage.html
----------------------------------------------------------------------
diff --git a/_includes/themes/twitter/frontpage.html b/_includes/themes/twitter/frontpage.html
new file mode 100644
index 0000000..1030c27
--- /dev/null
+++ b/_includes/themes/twitter/frontpage.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>{{ page.title }}</title>
+    {% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
+    <meta name="author" content="{{ site.author.name }}">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap.2.2.2.min.css" rel="stylesheet">
+    <link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">
+    <link rel="shortcut icon" type="image/x-icon" href="{{ ASSET_PATH }}/css/favicon.ico">
+
+    <!-- Le fav and touch icons -->
+  <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+  -->
+
+    <!-- atom & rss feed -->
+    <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="{{ BASE_PATH }}{{ site.JB.rss_path }}" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+
+    <!-- toc -->
+    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
+    <script src="{{ ASSET_PATH }}/js/toc.js"></script>
+    <script type="text/javascript">
+        $(document).ready(function() {
+        $('#toc').toc();
+        });
+    </script>
+    <style >
+        .clickable-header {
+            cursor:pointer;
+        }
+        .clickable-header:hover {
+            text-decoration:underline;
+        }
+        .top-level-header {
+            display:inline;
+        }
+        .back-to-top {
+            margin-left:5px;
+              cursor:pointer;
+        }
+        #backtotop {
+          position: fixed;
+          left: 50%;
+          bottom: 100px;
+          margin-left:520px;
+          width: 30px;
+          height: 30px;
+        }
+        #toc, .toc, .mw-warning {
+          background-color: #FFF;
+          border-left: 1px solid #AAAAAA;
+          font-size: 95%;
+          padding-top: 45px;
+          position: fixed;
+          top: 0px;
+          left: 50%;
+          margin-left: 520px;
+        }
+        #toc strong{
+          margin:20px;
+        }
+    </style>
+
+  </head>
+
+  <body>
+  <div id="topanchor"></div>
+    <div class="navbar">
+      <div class="navbar-inner">
+        <div class="container-narrow">
+          <a class="brand" href="{{ HOME_PATH }}">{{ site.title }}</a>
+          <ul class="nav">
+            {% assign pages_list = site.pages %}
+            {% assign group = 'navigation' %}
+            {% include JB/pages_list %}
+          </ul>
+        </div>
+      </div>
+    </div>
+    <div id="banner">
+  <a href="https://github.com/apache/incubator-singa" style="float: left"><img style="position: relative; top: -9px;
+    left: 0; border: 0;"
+    src="https://camo.githubusercontent.com/8b6b8ccc6da3aa5722903da7b58eb5ab1081adee/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6f72616e67655f6666373630302e706e67"
+    alt="Fork me on GitHub"
+    data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_orange_ff7600.png"></a>
+
+      <div id="logos">
+        <img class="singa-logo" src="{{ BASE_PATH }}/assets/image/singa-logo.png"/>
+        <div>
+          <img class="incubator-logo" src="{{ BASE_PATH }}/assets/image/incubator.png"/>
+          <span> A General Distributed Deep Learning Platform</span>
+      </div>
+      </div>
+    </div>
+    <div class="container-narrow">
+      <div class="content">
+        {{ content }}
+      </div>
+      <hr>
+      <footer>
+        <p>Copyright &copy; {{ site.time | date: '%Y' }} {{ site.author.name }}
+        The Apache Software Foundation. All rights reserved.
+
+        Apache Singa, Apache, the Apache feather logo, and the Apache Singa
+        project logos are trademarks of The Apache Software Foundation. All
+        other marks mentioned may be trademarks or registered trademarks of
+        their respective owners.
+        <a href="./privacy.html"> Privacy Policy </a>.
+        </p>
+      </footer>
+
+    </div>
+
+    <!-- back to top
+    <div id="backtotop">
+      <a href="#topanchor"><i class="icon-arrow-up back-to-top"></i>Top</a>
+    </div>-->
+
+    {% include JB/analytics %}
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/twitter/page.html
----------------------------------------------------------------------
diff --git a/_includes/themes/twitter/page.html b/_includes/themes/twitter/page.html
new file mode 100644
index 0000000..7c060ce
--- /dev/null
+++ b/_includes/themes/twitter/page.html
@@ -0,0 +1,11 @@
+<!--
+<div class="page-header">
+  <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %} </h1>
+</div>
+-->
+
+<div class="row-fluid">
+  <div class="span12">
+    {{ content }}
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/twitter/post.html
----------------------------------------------------------------------
diff --git a/_includes/themes/twitter/post.html b/_includes/themes/twitter/post.html
new file mode 100644
index 0000000..b46dcf5
--- /dev/null
+++ b/_includes/themes/twitter/post.html
@@ -0,0 +1,52 @@
+<div class="page-header">
+  <h1>{{ page.title }} {% if page.tagline %}<small>{{page.tagline}}</small>{% endif %}<img src="{{ BASE_PATH }}/assets/image/singa_logo.jpg", style="width: 100px" align="right"/></h1>
+</div>
+
+<div id="toc" class="toc"></div>
+<div class="row-fluid post-full">
+  <div class="span12">
+    <!--
+    <div class="date">
+      <span>{{ page.date | date_to_long_string }}</span>
+    </div>
+    -->
+    <div class="content">
+      {{ content }}
+    </div>
+
+  {% unless page.categories == empty %}
+    <ul class="tag_box inline">
+      <li><i class="icon-folder-open"></i></li>
+      {% assign categories_list = page.categories %}
+      {% include JB/categories_list %}
+    </ul>
+  {% endunless %}
+
+  {% unless page.tags == empty %}
+    <ul class="tag_box inline">
+      <li><i class="icon-tags"></i></li>
+      {% assign tags_list = page.tags %}
+      {% include JB/tags_list %}
+    </ul>
+  {% endunless %}
+
+    <hr>
+    <div class="pagination">
+      <ul>
+      {% if page.previous %}
+        <li class="prev"><a href="{{ BASE_PATH }}{{ page.previous.url }}" title="{{ page.previous.title }}">&larr; Previous</a></li>
+      {% else %}
+        <li class="prev disabled"><a>&larr; Previous</a></li>
+      {% endif %}
+        <li><a href="{{ BASE_PATH }}{{ site.JB.archive_path }}">Archive</a></li>
+      {% if page.next %}
+        <li class="next"><a href="{{ BASE_PATH }}{{ page.next.url }}" title="{{ page.next.title }}">Next &rarr;</a></li>
+      {% else %}
+        <li class="next disabled"><a>Next &rarr;</a>
+      {% endif %}
+      </ul>
+    </div>
+    <hr>
+    {% include JB/comments %}
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_includes/themes/twitter/settings.yml
----------------------------------------------------------------------
diff --git a/_includes/themes/twitter/settings.yml b/_includes/themes/twitter/settings.yml
new file mode 100644
index 0000000..7ca7b73
--- /dev/null
+++ b/_includes/themes/twitter/settings.yml
@@ -0,0 +1,2 @@
+theme :
+  name : twitter
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_layouts/default.html
----------------------------------------------------------------------
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..2d9be07
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,6 @@
+---
+theme :
+  name : twitter
+---
+{% include JB/setup %}
+{% include themes/twitter/default.html %}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_layouts/frontpage.html
----------------------------------------------------------------------
diff --git a/_layouts/frontpage.html b/_layouts/frontpage.html
new file mode 100644
index 0000000..2226e50
--- /dev/null
+++ b/_layouts/frontpage.html
@@ -0,0 +1,6 @@
+---
+theme :
+  name : twitter
+---
+{% include JB/setup %}
+{% include themes/twitter/frontpage.html %}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_layouts/page.html
----------------------------------------------------------------------
diff --git a/_layouts/page.html b/_layouts/page.html
new file mode 100644
index 0000000..6810b93
--- /dev/null
+++ b/_layouts/page.html
@@ -0,0 +1,5 @@
+---
+layout: frontpage
+---
+{% include JB/setup %}
+{% include themes/twitter/page.html %}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_layouts/post.html
----------------------------------------------------------------------
diff --git a/_layouts/post.html b/_layouts/post.html
new file mode 100644
index 0000000..9971d7c
--- /dev/null
+++ b/_layouts/post.html
@@ -0,0 +1,5 @@
+---
+layout: default
+---
+{% include JB/setup %}
+{% include themes/twitter/post.html %}

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_plugins/debug.rb
----------------------------------------------------------------------
diff --git a/_plugins/debug.rb b/_plugins/debug.rb
new file mode 100644
index 0000000..e1dde39
--- /dev/null
+++ b/_plugins/debug.rb
@@ -0,0 +1,38 @@
+# A simple way to inspect liquid template variables.
+# Usage:
+#  Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
+#  {{ site | debug }}
+#  {{ site.posts | debug }}
+#
+require 'pp'
+module Jekyll
+  # Need to overwrite the inspect method here because the original
+  # uses < > to encapsulate the psuedo post/page objects in which case
+  # the output is taken for HTML tags and hidden from view.
+  #
+  class Post
+    def inspect
+      "#Jekyll:Post @id=#{self.id.inspect}"
+    end
+  end
+  
+  class Page
+    def inspect
+      "#Jekyll:Page @name=#{self.name.inspect}"
+    end
+  end
+  
+end # Jekyll
+  
+module Jekyll
+  module DebugFilter
+    
+    def debug(obj, stdout=false)
+      puts obj.pretty_inspect if stdout
+      "<pre>#{obj.class}\n#{obj.pretty_inspect}</pre>"
+    end
+
+  end # DebugFilter
+end # Jekyll
+
+Liquid::Template.register_filter(Jekyll::DebugFilter)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_plugins/tocGenerator.rb
----------------------------------------------------------------------
diff --git a/_plugins/tocGenerator.rb b/_plugins/tocGenerator.rb
new file mode 100644
index 0000000..12929c6
--- /dev/null
+++ b/_plugins/tocGenerator.rb
@@ -0,0 +1,117 @@
+require 'nokogiri'
+
+module Jekyll
+  module TOCGenerator
+    TOGGLE_HTML = '<div id="toctitle"><h3>%1</h3>%2</div>'
+    TOC_CONTAINER_HTML = '<div id="toc-container"><table class="toc" id="toc"><tbody><tr><td>%1<ul>%2</ul></td></tr></tbody></table></div>'
+    HIDE_HTML = '<span class="toctoggle">[<a id="toctogglelink" class="internal" href="#">%1</a>]</span>'
+
+   def toc_generate(html)
+        # No Toc can be specified on every single page
+        # For example the index page has no table of contents
+        no_toc = @context.environments.first["page"]["noToc"] || false;
+
+        if no_toc
+            return html
+        end
+
+        config = @context.registers[:site].config
+        # Minimum number of items needed to show TOC, default 0 (0 means no minimum)
+        min_items_to_show_toc = config["minItemsToShowToc"] || 0
+
+        anchor_prefix = config["anchorPrefix"] || 'tocAnchor-'
+
+        # Text labels
+        contents_label = config["contentsLabel"] || 'Contents'
+        hide_label = config["hideLabel"] || 'hide'
+        show_label = config["showLabel"] || 'show'
+        show_toggle_button = config["showToggleButton"]
+
+        toc_html = ''
+        toc_level = 1
+        toc_section = 1
+        item_number = 1
+        level_html = ''
+
+        doc = Nokogiri::HTML(html)
+
+        # Find h2 tag and all its h3 siblings until next h2
+        doc.css('h2').each do |h2|
+            # TODO This XPATH expression can greatly improved
+            ct  = h2.xpath('count(following-sibling::h2)')
+            h3s = h2.xpath("following-sibling::h3[count(following-sibling::h2)=#{ct}]")
+
+            level_html = '';
+            inner_section = 0;
+
+            h3s.map.each do |h3|
+                inner_section += 1;
+                anchor_id = anchor_prefix + toc_level.to_s + '-' + toc_section.to_s + '-' + inner_section.to_s
+                h3['id'] = "#{anchor_id}"
+
+                level_html += create_level_html(anchor_id,
+                    toc_level + 1,
+                    toc_section + inner_section,
+                    item_number.to_s + '.' + inner_section.to_s,
+                    h3.text,
+                    '')
+            end
+            if level_html.length > 0
+                level_html = '<ul>' + level_html + '</ul>';
+            end
+            anchor_id = anchor_prefix + toc_level.to_s + '-' + toc_section.to_s;
+            h2['id'] = "#{anchor_id}"
+
+            toc_html += create_level_html(anchor_id,
+                toc_level,
+                toc_section,
+                item_number,
+                h2.text,
+                level_html);
+
+            toc_section += 1 + inner_section;
+            item_number += 1;
+        end
+
+        # for convenience item_number starts from 1
+        # so we decrement it to obtain the index count
+        toc_index_count = item_number - 1
+
+        if toc_html.length > 0
+            hide_html = '';
+            if (show_toggle_button)
+                hide_html = HIDE_HTML.gsub('%1', hide_label)
+            end
+
+            if min_items_to_show_toc <= toc_index_count
+                replaced_toggle_html = TOGGLE_HTML
+                    .gsub('%1', contents_label)
+                    .gsub('%2', hide_html);
+                toc_table = TOC_CONTAINER_HTML
+                    .gsub('%1', replaced_toggle_html)
+                    .gsub('%2', toc_html);
+                doc.css('body').children.before(toc_table)
+            end
+            doc.css('body').children.to_xhtml(indent:3, indent_text:" ")
+        else
+            return html
+        end
+   end
+
+private
+
+    def create_level_html(anchor_id, toc_level, toc_section, tocNumber, tocText, tocInner)
+        link = '<a href="#%1"><span class="tocnumber">%2</span> <span class="toctext">%3</span></a>%4'
+            .gsub('%1', anchor_id.to_s)
+            .gsub('%2', tocNumber.to_s)
+            .gsub('%3', tocText)
+            .gsub('%4', tocInner ? tocInner : '');
+        '<li class="toc_level-%1 toc_section-%2">%3</li>'
+            .gsub('%1', toc_level.to_s)
+            .gsub('%2', toc_section.to_s)
+            .gsub('%3', link)
+    end
+  end
+end
+
+Liquid::Template.register_filter(Jekyll::TOCGenerator)

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/community/2015-01-20-code-style.md
----------------------------------------------------------------------
diff --git a/_posts/community/2015-01-20-code-style.md b/_posts/community/2015-01-20-code-style.md
new file mode 100644
index 0000000..ff8b24b
--- /dev/null
+++ b/_posts/community/2015-01-20-code-style.md
@@ -0,0 +1,42 @@
+---
+layout: post
+title: Coding and Documentation Style
+category : community
+tagline:
+tags : [coding, contribution, style]
+---
+{% include JB/setup %}
+
+## Coding Styling
+We follow Google's C++ coding [style](http://google-styleguide.googlecode.com/svn/trunk/cppguide.html)
+
+## Documentation Style
+
+### Comments
+
+We follow the [Doxygen](http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html)
+style to add comments for the code. There are at least three points we need to follow,
+
+1. **JAVADOC_AUTOREF** is enabled to write the comment block as,
+
+        /**
+         * brief description with a dot at the end.
+         * detailed description.
+         * @param
+         * @param
+         * @return
+         */
+
+2. One line comment should be like this (actually there are more choices. We use this one),
+
+        int num_procs; /**> total number of mpi processes */
+
+    the comments after double slashes `//` will not be generated to the html API pages but are allowed.
+
+3. Comments are apart from code should use macros like,
+
+        /**
+         * \file this file, solver.h, contains two classes \class Solver and \class Prefetcher
+         */
+
+### Tutorial and User Guide

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-01-10-quick-start.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-01-10-quick-start.md b/_posts/docs/2015-01-10-quick-start.md
new file mode 100644
index 0000000..bf953ba
--- /dev/null
+++ b/_posts/docs/2015-01-10-quick-start.md
@@ -0,0 +1,103 @@
+---
+layout: post
+title: Quick Start
+category : docs
+tags : [installation, examples]
+---
+{% include JB/setup %}
+
+
+## Installation
+
+Clone the SINGA code from [Github](https://github.com/apache/incubator-singa)
+or Apache's git repository
+
+    git clone git@github.com:apache/incubator-singa.git
+    or
+    git clone https://github.com/apache/incubator-singa.git
+
+
+Compile SINGA:
+
+    ./configure
+    make
+
+If there are dependent libraries missing, please refer to
+[installation]({{ BASE_PATH }}{% post_url /docs/2015-01-20-installation %}) page
+for guidance on installing them. After successful compilation, the libsinga.so
+and singa executable will be built into the build folder.
+
+## Run in standalone mode
+
+Running SINGA in standalone mode is on the contrary of running it on Mesos or
+YARN. For standalone mode, users have to manage the resources manually. For
+instance, they have to prepare a host file containing all running nodes.
+There is no management on CPU and memory resources, hence SINGA consumes as much
+CPU and memory resources as it needs.
+
+### Training on a single node
+
+For single node training, one process will be launched to run the SINGA code on
+the node where SINGA is started. We train the [CNN model](http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks) over the
+[CIFAR-10](http://www.cs.toronto.edu/~kriz/cifar.html) dataset as an example.
+The hyper-parameters are set following
+[cuda-convnet](https://code.google.com/p/cuda-convnet/).
+
+
+#### Data and model preparation
+
+Download the dataset and create the data shards for training and testing.
+
+    cd examples/cifar10/
+    make download
+    make shard
+
+A training dataset and a test dataset are created under *train-shard* and
+*test-shard* folder respectively. A mena.shard file is also generated, which
+contains the feature mean of all images.
+<!--After creating the data shards, you  to update the paths in the
+model configuration file (*model.conf*) for the
+training data shard, test data shard and the mean file.-->
+
+Since all modules used for training this CNN model are provided by SINGA as
+built-in modules, there is no need to write any code. Instead, you just run the
+executable file (*../../build/singa*) by providing the model configuration file
+(*model.conf*).  If you want to implement your own modules, e.g., layer,
+then you have to register your modules in the driver code. After compiling the
+driver code, link it with the SINGA library to generate the executable. More
+details are described in [Code your own models]().
+
+#### Training without partitioning
+
+To train the model without any partitioning, you just set the numbers
+in the cluster configuration file (*cluster.conf*) as :
+
+    nworker_groups: 1
+    nworkers_per_group: 1
+    nserver_groups: 1
+    nservers_per_group: 1
+
+One worker group trains against one partition of the training dataset. If
+*nworker_groups* is set to 1, then there is no data partitioning. One worker
+runs over a partition of the model. If *nworkers_per_group* is set to 1, then
+there is no model partitioning. More details on the cluster configuration are
+described in the [System Architecture]() page.
+
+Start the training by running:
+
+    #goto top level folder
+    cd ..
+    ./build/singa -model=examples/cifar10/model.conf -cluster=examples/cifar10/cluster.conf
+
+#### Training with data Partitioning
+
+#### Training with model Partitioning
+
+### Training in a cluster
+
+
+## Run with Mesos
+
+*in working*...
+
+## Run with YARN

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-01-20-installation.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-01-20-installation.md b/_posts/docs/2015-01-20-installation.md
new file mode 100644
index 0000000..bdc1b28
--- /dev/null
+++ b/_posts/docs/2015-01-20-installation.md
@@ -0,0 +1,9 @@
+---
+layout: post
+title: Installation
+category : docs
+tags : [installation, examples]
+---
+{% include JB/setup %}
+
+

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-01-30-architecture.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-01-30-architecture.md b/_posts/docs/2015-01-30-architecture.md
new file mode 100644
index 0000000..f03c2b4
--- /dev/null
+++ b/_posts/docs/2015-01-30-architecture.md
@@ -0,0 +1,171 @@
+---
+layout: post
+title: System Architecture
+category : docs
+tagline:
+tags : [development, documentation, system architecture]
+---
+{% include JB/setup %}
+
+We design the architecture of Singa with the consideration to make it general
+to unify existing architectures. Then users can easily test the performance of
+different architectures and select the best for their models.
+
+## Logical Architecture
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/arch/logical.png" align="center" width="550px"/>
+<figcaption><strong> Fig.1 - Logical system architecture</strong></figcaption>
+</figure>
+
+The logical system architecture is shown in Fig.1 with four worker groups and
+two server groups. Each worker group runs against a partition of the
+training dataset (called data parallelism) to compute the updates (e.g., the
+gradients) of parameters of one model replica.  Worker groups run
+asynchronously, while workers within one group run synchronously with each
+worker computing updates for a partition of the model parameters (called
+model parallelism). Each server group maintains one replica of the model
+parameters. It receives requests (e.g., Get/Put/Update) from workers and
+handles these requests. Server groups synchronize with neighboring server groups
+periodically or according to some rules. One worker (or server) group consists
+of multiple (user defined number) threads. These threads may resident in one
+process or span across multiple processes.
+
+Each worker (or server) group has a ParamShard object, which contains a full
+set of Param objects for a model replica. Since the workers (or servers) may
+span across multiple processes, this ParamShard may also be partitioned across
+multiple processes.  The ParamShards can share the same memory space for
+parameter values if they resident in the same process like
+[Caffe](http://caffe.berkeleyvision.org/)'s parallel implementation. Sharing
+memory could save memory space, but it could also change the training logic and
+thus affects the convergence rate.
+
+Each worker (thread) has a PMWorker (abbr for parameter management on workers)
+object, e.g., pmw1, pmw2, which calls the Get/Put/Update functions to get
+parameters, put parameters and update parameters. These functions may send
+requests to servers that use PMServer (abbr for parameter management on
+servers), e.g., pms1, pms2, to handle these requests.
+
+## Physical Architecture
+
+In this section, we describe how to configure Singa to generalize the logical
+architecture to the physical architectures of existing systems, e.g., Caffe and
+Baidu's DeepImage, Google Brain and Microsoft Adam. The architecture
+configuration includes:
+
+  * Number of worker threads per worker group and per process, which decides
+   the partitioning of worker side ParamShard
+
+  * Number of server threads per server group and per process, which decides
+   the partitioning of server side ParamShard
+
+  * Separation of servers and workers in different processes
+
+  * Number of worker groups per server group
+
+  * Topology of server groups, e.g., ring, tree, fully connected, etc.
+
+We put automatic optimization of the configuration as a future feature.
+
+### No Partition of ParamShard
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/arch/arch1.png" align="center" width="550px"/>
+<figcaption><strong> Fig.2 - Physical system architecture without partitioning
+ParamShard</strong></figcaption>
+</figure>
+
+Fig.2 shows the architecture by configuring three threads per worker group, two
+threads per server group, two worker groups and one server group per process.
+Worker threads and server threads run as sub-threads. The main thread runs a
+loop as a stub to forward messages. For instance, the Get/Put/Update requests
+from workers are forwarded to the local servers, while Sync requests from the
+local servers are forwarded to remote servers. In this architecture, every
+group is fully contained in one process, hence the ParamShard objects is not
+partitioned.  If the ParamShards within one process share the same memory space
+for parameter values, the training procedure then follows
+[Hogwild](http://i.stanford.edu/hazy/hazy/victor/Hogwild/).  If we only
+launch process 1, Singa then runs in standalone mode. If we launch multiple
+processes, we can connect the server groups to form different topologies,
+e.g., ring or tree. Synchronization is conducted via inter-process
+communication between neighboring server groups. In
+[Caffe's](http://caffe.berkeleyvision.org/) parallel training architecture,
+processes are arranged into a ring. Caffe luanches one thread per model
+replica, hence it only supports data parallelism. Singa can also support
+model parallelism by partition the model replica among multiple worker
+threads within one group.
+
+### Partition Server Side ParamShard
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/arch/arch2.png" align="center" width="550px"/>
+<figcaption><strong> Fig.3 - Physical system architecture, partitioning
+server ParamShard</strong></figcaption>
+</figure>
+
+Fig.3 shows another physical architecture by configuring one worker group per
+process, and two processes per server group. Because the server group spans two
+processes, the ParamShard of the server group is partitioned across the two
+processes. We only show one server groups in the figure. The vertical lines
+represent inter-process communication to synchronize server groups if there
+are multiple server groups. In process 1, if the update for a parameter that
+residents in process 2, then the PMWorker's update request would be sent to
+process 2 via inter-process communication. If the parameter is maintained by
+process 1, then the update request is sent to pms2 directly via intra-process
+communication. The processes for other requests are the same. Baidu's
+[DeepImage](http://arxiv.org/abs/1501.02876) system uses one server group and
+its ParamShard is partitioned across all processes. Consequently, the stub of each process is
+connected with all other processes' stubs for updating parameters. Like Caffe,
+it launches only one thread per worker group, thus only support data
+parallelism.
+
+### Partition Worker Side ParamShard
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/arch/arch3.png" align="center" width="550px"/>
+<figcaption><strong> Fig.4 - Physical system architecture, partitioning
+worker ParamShard</strong></figcaption>
+</figure>
+
+The main difference of the architectures in Fig.4 and Fig.3 is that the worker
+group is partitioned over two processes in Fig.4. Consequently, the ParamShard
+is partitioned across process 1 and process 2. There are two kinds of
+parameters to consider:
+
+  * unique parameter: this kind of parameter exists in only one of the
+  partitioned ParamShards (due to model partition), and is updated by one
+  worker in its host process.  Hence the update is conducted similar to that in
+  Fig.2.
+
+  * replicated parameter: this kind of parameter is replicated in all
+  ParamShards (due to data partition), and its update is the aggregation of
+  updates from all workers.  The aggregation is processed as follows. First the
+  first process is selected as the leader process. (Update/Get/Put) requests of
+  PMWorkers on other processes are aggregated locally and then forwarded to the
+  leader process which handles it in the main thread. *The main thread of the
+  leader process creates a PMWorker over the ParamShard it owns. It handles
+  the request by calling the correspondingly functions, e.g., Update/Get/Put().
+  The responses from the servers are sent to the first worker of all sub ParamShards.*
+
+### Workers and Servers in Different Processes
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/arch/arch4.png" align="center" width="550px"/>
+<figcaption><strong> Fig.5 - Physical system architecture, separating workers
+and servers</strong></figcaption>
+</figure>
+
+Fig.5 shows an architecture similar to that in Fig.4 except that the servers
+and workers are separated into different processes. Consequently all requests
+are sent via inter-process communication and handled by remote servers. More
+details on this architecture are explained in
+[Worker-Server Architecture]({{ BASE_PATH }}{% post_url /docs/2015-03-20-parameter-management %}). This is
+the architecture used by Google's Brain and Microsoft's Adam system. It is also
+called the Downpour architecture.
+
+## Conclusion
+
+We have shown that Singa's architecture is general enough
+to unify the architectures of existing distributed training systems.
+Since the rest architectures can be derived similarly as the above four by
+setting different architecture configurations, we do not numerate them here.


[49/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-02-10-communication.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-02-10-communication.md b/_posts/docs/2015-02-10-communication.md
new file mode 100644
index 0000000..9701442
--- /dev/null
+++ b/_posts/docs/2015-02-10-communication.md
@@ -0,0 +1,354 @@
+---
+layout: post
+title: Communication
+category : docs
+tagline:
+tags : [development, documentation, communication]
+---
+{% include JB/setup %}
+
+Different messaging libraries has different benefits and drawbacks. For instance,
+MPI provides fast message passing between GPUs (using GPUDirect), but does not
+support fault-tolerance well. On the contrary, systems using ZeroMQ can be
+fault-tolerant. But ZeroMQ does not support GPUDirect. The AllReduce function
+of MPI is also missing in ZeroMQ which is efficient for data aggregation for
+distributed training. In Singa, we provide general messaging APIs for
+communication between threads within a process and across processes, and let
+users choose the underlying implementation (MPI or ZeroMQ) that meets their requirements.
+
+Singa's messaging library consists of two components, namely the message, and
+the socket to send and receive messages. **Socket** refers to a
+Singa defined data structure instead of the Linux Socket.
+We will introduce the two components in detail with the following figure as an
+example architecture.
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/arch/arch2.png" align="center" width="550px"/>
+<img src="{{ BASE_PATH }}/assets/image/arch/comm.png" align="center" width="550px"/>
+<figcaption><strong> Fig.1 - Example physical architecture and network connection</strong></figcaption>
+</figure>
+
+Fig.1 shows an example physical architecture and its network connection.
+[Section-partition server side ParamShard]({{ BASE_PATH }}{% post_url /docs/2015-01-30-architecture %}) has a detailed description of the
+architecture. Each process consists of one main thread running the stub and multiple
+background threads running the worker and server tasks. The stub of the main
+thread forwards messages among threads . The worker and
+server tasks are performed by the background threads.
+
+## Message
+
+<figure >
+<object type="image/svg+xml" align="center" width="100" data="{{ BASE_PATH }}/assets/image/msg.svg" > Not
+supported </object>
+<figcaption><strong> Fig.2 - Logical message format</strong></figcaption>
+</figure>
+
+Fig.2 shows the logical message format which has two parts, the header and the
+content. The message header includes the sender and receiver's ID consisting of
+the group ID and the worker/server ID within the group. The stub forwards
+messages by looking up an address table based on the receiver's ID.
+There are two sets of messages, their message types are:
+
+  * kGet/kPut/kRequest/kSync for messages about parameters
+
+  * kFeaBlob/kGradBlob for messages about transferring feature and gradient
+  blobs of one layer to its neighboring layer
+
+There is a target ID in the header. If the message is related to parameters,
+the target ID is then the parameter ID. Otherwise the message is related to
+layer feature or gradient, and the target ID consists of the layer ID and the
+blob ID of that layer. The message content has multiple frames to store the
+parameter or feature data.
+
+The API for the base Msg is:
+
+    class Msg{
+     public:
+      /**
+       * Destructor to free memory
+       */
+      virtual ~Msg()=0;
+      /**
+       * @param group_id worker/server group id
+       * @param id worker/server id within the group
+       * @param flag 0 for server, 1 for worker, 2 for stub
+       */
+      virtual void set_src(int group_id, int id, int flag)=0;
+      virtual void set_dst(int group_id, int id, int flag)=0;
+      virtual void src_group_id()=0;
+      virtual int src_id() const=0;
+      virtual int dst_group_id() const=0;
+      virtual int dst_id() const=0;
+      virtual int src_flag() const=0;
+      virtual int dst_flag() const=0;
+      virtual void set_type(int type)=0;
+      virtual void set_target(int param_id)=0;
+      virtual void set_target(int layer_id, blob_id)=0;
+      virtual int type() const=0;
+      /**
+       * @return true if the msg is about parameter, otherwise false
+       */
+      virtual bool is_param_msg() const=0;
+      virtual int param_id() const=0;
+      virtual int layer_id() const=0;
+      virtual int blob_id() const=0;
+
+      virtual void add_frame(void*, int nBytes)=0;
+      virtual int frame_size()=0;
+      virtual void* frame_data()=0;
+      /**
+       * Move the cursor to the next frame
+       * @return true if the next frame is not NULL; otherwise false
+       */
+      virtual bool next_frame()=0;
+      virtual int SerializeTo(string* buf);
+      virtual int ParseFrom(const string& buf);
+    };
+
+## Socket
+
+In Singa, there are two types of sockets, the Dealer Socket and the Router
+Socket. The names are from ZeroMQ. All connections are of the same type, i.e.,
+Dealer<-->Router. The communication between dealers and routers are
+asynchronous. In other words, one Dealer
+socket can talk with multiple Router sockets, and one Router socket can talk
+with multiple Dealer sockets.
+
+### Base Socket
+
+The basic functions of a Singa Socket is to send and receive messages. The APIs
+are:
+
+    class Socket{
+     public:
+      /**
+       * @param args depending on the underlying implementation.
+       */
+      Socket(void* args);
+      /**
+       * Send a message to connected socket(s), non-blocking. The message will
+       * be deallocated after sending, thus should not be used after calling Send();
+       * @param  the message to be sent
+       * @param  dst the identifier of the connected socket. By default, it is
+       * -1, which means sending this message to all connected sockets.
+       * @return 1 for success queuing the message for sending, 0 for failure
+       */
+      virtual int Send(Msg** msg, int dst=-1)=0;
+      /**
+       * Receive a message
+       * @return a message pointer if success; nullptr if failure
+       */
+      virtual Message* Receive()=0;
+    };
+
+    class Poller{
+     public:
+      /**
+       * Add a socket for polling; Multiple sockets can be polled together by
+       * adding them into the same poller.
+       */
+      void Add(Socket* socket);
+      /**
+       * Poll for all sockets added into this poller.
+       * @param duration stop after this number of milliseconds
+       * @return pointer to the socket if it has one message in the receiving
+       * queue; nullptr if no message in any sockets,
+       */
+      Socket* Poll(int duation);
+    };
+
+### Dealer Socket
+
+The Dealer socket inherits from the base Socket. In Singa, every Dealer socket
+only connects to one Router socket as shown in Fig.1.  The connection is set up
+by connecting the Dealer socket to the endpoint of a Router socket.
+
+    class Dealer : public Socket{
+     public:
+      /**
+       * Blocking operation to setup the connection with the router, called
+       * only once.
+       * @param endpoint identifier of the router. For intra-process
+       * connection, the endpoint follows the format of ZeroMQ, i.e.,
+       * starting with "inproc://"; in Singa, since each process has one
+       * router, hence we can fix the endpoint to be "inproc://router" for
+       * intra-process. For inter-process, the endpoint follows ZeroMQ's
+       * format, i.e., IP:port, where IP is the connected process.
+       * @return 1 connection sets up successfully; 0 otherwise
+       /
+      int Connect(string endpoint);
+      /*
+       * Since the Dealer socket connects to only one router, it must send to
+       * the connected router, thus the dst argument is useless.
+       */
+      virtual int Send(Msg** msg, int dst=-1);
+      virtual Message* Receive();
+    };
+
+### Router Socket
+
+The Router socket inherits from the base Socket. One Router socket connects to
+at least one Dealer socket.
+
+    class Router : public Socket{
+     /**
+      * Blocking operation to setup the connection with dealers.
+      * It automatically binds to the endpoint for intra-process communication,
+      * i.e., "inproc://router".
+      *
+      * @param endpoint the identifier for the Dealer socket in other process
+      * to connect. It has the format IP:Port, where IP is the host machine.
+      * If endpoint is empty, it means that all connections are
+      * intra-process connection.
+      * @param expected_connections total number of connections. This function
+      * exits after receiving this number of connections from dealers or after
+      * a timeout (1 minutes).
+      * @return number of connected dealers.
+      */
+      int Bind(string endpoint, int expected_connections);
+      virtual int Send(Msg** msg, int dst=-1);
+      virtual Message* Receive();
+    };
+
+## Implementation
+
+### ZeroMQ
+
+**Why [ZeroMQ](http://zeromq.org/)?** Our previous design used MPI for
+communication between Singa processes. But MPI is a poor choice when it comes
+to fault-tolerance, because failure at one node brings down the entire MPI
+cluster. ZeroMQ, on the other hand, is fault tolerant in the sense that one
+node failure does not affect the other nodes. ZeroMQ consists of several basic
+communication patterns that can be easily combined to create more complex
+network topologies.
+
+<figure>
+<img src="{{ BASE_PATH }}/assets/image/msg-flow.png" align="center" width="550px"/>
+<figcaption><strong> Fig.3 - Messages flow for ZeroMQ</strong></figcaption>
+</figure>
+
+The communication APIs of Singa are similar to the DEALER-ROUTER pattern of
+ZeroMQ. Hence we can easily implement the Dealer socket using ZeroMQ's DEALER
+socket, and Router socket using ZeroMQ's ROUTER socket.
+The intra-process can be implemented using ZeroMQ's inproc transport, and the
+inter-process can be implemented using the tcp transport (To exploit the
+Infiniband, we can use the sdp transport). Fig.3 shows the message flow using
+ZeroMQ as the underlying implementation. The messages sent from dealers has two
+frames for the message header, and one or more frames for the message content.
+The messages sent from routers have another frame for the identifier of the
+destination dealer.
+
+Besides the DEALER-ROUTER pattern, we may also implement the Dealer socket and
+Router socket using other ZeroMQ patterns. To be continued.
+
+### MPI
+
+Since MPI does not provide intra-process communication, we have to implement
+it inside the Router and Dealer socket. A simple solution is to allocate one
+message queue for each socket. Messages sent to one socket is inserted into the
+queue of that socket. We create a SafeQueue class to ensure the consistency of
+the queue. All queues are created by the main thread and
+passed to all sockets' constructor via *args*.
+
+    /**
+     * A thread safe queue class.
+     * There would be multiple threads pushing messages into
+     * the queue and only one thread reading and popping the queue.
+     */
+    class SafeQueue{
+     public:
+      void Push(Msg* msg);
+      Msg* Front();
+      void Pop();
+      bool empty();
+    };
+
+For inter-process communication, we serialize the message and call MPI's
+send/receive functions to transferring them. All inter-process connections are
+setup by MPI at the beginning. Consequently, the Connect and Bind functions do
+nothing for both inter-process and intra-process communication.
+
+MPI's AllReduce function is efficient for data aggregation in distributed
+training. For example, [DeepImage of Baidu](http://arxiv.org/abs/1501.02876)
+uses AllReduce to aggregate the updates of parameter from all workers. It has
+similar architecture as [Fig.2]({{ BASE_PATH }}{% post_url /docs/2015-01-30-architecture %}),
+where every process has a server group and is connected with all other processes.
+Hence, we can implement DeepImage in Singa by simply using MPI's AllReduce function for
+inter-process communication.
+
+<!--
+### Server socket
+
+Each server has a DEALER socket to communicate with the stub in the main
+thread via an _in-proc_ socket. It receives requests issued from workers and
+other servers, and forwarded by the ROUTER of the stub. Since the requests are forwarded by the
+stub, we can make the location of workers transparent to server threads. The
+stub records the locations of workers and servers.
+
+As explained previously in the
+[APIs]({{ BASE_PATH }}{% post_url /docs/2015-03-20-parameter-management %})
+for parameter management, some requests may
+not be processed immediately but have to be re-queued. For instance, the Get
+request cannot be processed if the requested parameter is not available, i.e.,
+the parameter has not been put into the server's ParamShard. The re-queueing
+operation is implemented sendings the messages to the ROUTER
+socket of the stub which treats the message as a newly arrived request
+and queues it for processing.
+
+### Worker socket
+
+Each worker thread has a DEALER socket to communicate with the stub in the main
+thread via an _in-proc_ socket. It sends (Get/Update) requests to the ROUTER in
+the stub which forwards the request to (local or remote) processes. In case of
+the partition of ParamShard of worker side, it may also transfer data with other
+workers via the DEALER socket. Again, the location of the other side (a server
+or worker) of the communication is transparent to the worker. The stub handles
+the addressing.
+
+PMClient executes the training logic, during which it generates GET and UPDATE
+requests. A request received at the worker's main thread contains ID of the
+PMClient instance. The worker determines which server to send the request based
+on its content, then sends it via the corresponding socket. Response messages
+received from any of the server socket are forwarded to the in-proc ROUTER
+socket. Since each response header contains the PMClient ID, it is routed to
+the correct instance.
+
+### Stub sockets
+
+#### ROUTER socket
+The main thread has a ROUTER socket to communicate with background threads.
+
+It forwards the requests from workers to background servers. There can be
+multiple servers.If all servers maintain the same (sub) ParamShard, then the
+request can be forwarded to any of them. Load-balance (like round-robin) can be
+implemented in the stub to improve the performance. If each server maintains a
+sub-set of the local ParamShard, then the stub forwards each request to the
+corresponding server.  It also forwards the synchronization requests from
+remote servers to local servers in the same way.
+
+In the case of neural network partition (i.e., model partition), neighbor
+layers would transfer data with each other. Hence, the ROUTER would forwards
+data transfer requests from one worker to other worker. The stub looks up the
+location table to decide where to forward each request.
+
+#### DEALER sockets
+
+The main thread has multiple DEALER sockets to communicate with other
+processes, one socket per process. Two processes are connected if one of the
+following cases exists:
+
+  * one worker group spans across the two processes;
+  * two connected server groups are separated in the two processes;
+  * workers and the subscribed servers are separated in the two processes.
+
+
+All messages in SINGA are of multi-frame ZeroMQ format. The figure above demonstrates different types of messages exchanged in the system.
+
+  1. Requests generated by PMClient consist of the parameter content (which could be empty), followed by the parameter ID (key) and the request type (GET/PUT/REQUEST). Responses received by PMClient are also of this format.
+  2. Messages received by the worker's main thread from PMClient instances contain another frame identifying the PMClient connection (or PMClient ID).
+  3. Requests originating form a worker and arriving at the server contain another frame identifying the worker's connection (or Worker ID).
+  4. Requests originating from another server and arriving at the server have the same format as (3), but the first frame identifies the server connection (or Server ID).
+  5. After a PMServer processes a request, it generates a message with the format similar to (3) but with extra frame indicating if the message is to be routed back to a worker (a response message) or to route to another server (a SYNC request).
+  6. When a request is re-queued, the PMServer generates a message and sends it directly to the server's front-end socket. The re-queued request seen by the server's main thread consists of all the frames in (3), followed by a REQUEUED frame, and finally by another frame generated by the ROUTER socket identifying connection from the PMServer instance. The main thread then strips off these additional two frames before  forwarding it to another PMServer instance like another ordinary request.
+
+-->

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-02-20-code-structure.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-02-20-code-structure.md b/_posts/docs/2015-02-20-code-structure.md
new file mode 100644
index 0000000..198e658
--- /dev/null
+++ b/_posts/docs/2015-02-20-code-structure.md
@@ -0,0 +1,80 @@
+---
+layout: post
+title: Code Structure
+category : docs
+tagline:
+tags : [code, structure, singa]
+---
+{% include JB/setup %}
+
+## Worker Side
+
+### Main Classes
+
+<img src="{{ BASE_PATH }}/assets/image/code-structure/main.jpg" style="width:70%;" align="center"/>
+
+* **Worker**: start the solver to conduct training or resume from previous training snapshots.
+* **Solver**: construct the neural network and run training algorithms over it. Validation and testing is also done by the solver along the training.
+* **TableDelegate**: delegate for the parameter table physically stored in parameter servers.
+    it runs a thread to communicate with table servers for parameter transferring.
+* **Net**: the neural network consists of multiple layers constructed from input configuration file.
+* **Layer**: the core abstraction, read data (neurons) from connecting layers, and compute the data
+    of itself according to layer specific ComputeFeature functions. Data from the bottom layer is forwarded
+    layer by layer to the top.
+
+### Data types
+
+<img src="{{ BASE_PATH }}/assets/image/code-structure/layer.jpg" style="width:90%;" align="center"/>
+
+* **ComputeFeature**: read data (neurons) from in-coming layers, and compute the data
+    of itself according to layer type. This function can be overrided to implement different
+    types layers.
+* **ComputeGradient**: read gradients (and data) from in-coming layers and compute
+    gradients of parameters and data w.r.t the learning objective (loss).
+
+We adpat the implementation for **PoolingLayer**, **Im2colLayer** and **LRNLayer** from [Caffe](http://caffe.berkeleyvision.org/).
+
+
+<img src="{{ BASE_PATH }}/assets/image/code-structure/darray.jpg" style="width:55%;" align="center"/>
+
+* **DArray**: provide the abstraction of distributed array on multiple nodes,
+    supporting array/matrix operations and element-wise operations. Users can use it as a local structure.
+* **LArray**: the local part for the DArray. Each LArray is treated as an
+    independent array, and support all array-related operations.
+* **MemSpace**: manage the memory used by DArray. Distributed memory are allocated
+    and managed by armci. Multiple DArray can share a same MemSpace, the memory
+    will be released when no DArray uses it anymore.
+* **Partition**: maintain both global shape and local partition information.
+    used when two DArray are going to interact.
+* **Shape**: basic class for representing the scope of a DArray/LArray
+* **Range**: basic class for representing the scope of a Partition
+
+## Parameter Server
+
+### Main classes
+
+<img src="{{ BASE_PATH }}/assets/image/code-structure/uml.jpg" style="width:90%;" align="center"/>
+
+* **NetworkService**: provide access to the network (sending and receiving messages). It maintains a queue for received messages, implemented by NetworkQueue.
+* **RequestDispatcher**: pick up next message (request) from the queue, and invoked a method (callback) to process them.
+* **TableServer**: provide access to the data table (parameters). Register callbacks for different types of requests to RequestDispatcher.
+* **GlobalTable**: implement the table. Data is partitioned into multiple Shard objects per table. User-defined consistency model supported by extending TableServerHandler for each table.
+
+### Data types
+
+<img src="{{ BASE_PATH }}/assets/image/code-structure/type.jpg" style="width:400px;" align="middle"/>
+
+Table related messages are either of type **RequestBase** which contains different types of request, or of type **TableData** containing a key-value tuple.
+
+### Control flow and thread model
+
+![uml]({{ BASE_PATH }}/assets/image/code-structure/threads.jpg)
+
+The figure above shows how a GET request sent from a worker is processed by the
+table server. The control flow for other types of requests is similar. At
+the server side, there are at least 3 threads running at any time: two by
+NetworkService for sending and receiving message, and at least one by the
+RequestDispatcher for dispatching requests.
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-02-30-neuralnet-partition.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-02-30-neuralnet-partition.md b/_posts/docs/2015-02-30-neuralnet-partition.md
new file mode 100644
index 0000000..a91cae0
--- /dev/null
+++ b/_posts/docs/2015-02-30-neuralnet-partition.md
@@ -0,0 +1,59 @@
+---
+layout: post
+title: Neural Network Partition
+category : docs
+tagline:
+tags : [partition, neuralnet]
+---
+{% include JB/setup %}
+
+The purposes of partitioning neural network is to distribute the partitions onto
+different working units (e.g., threads or nodes, called workers in this article)
+and parallelize the processing.
+Another reason for partition is to handle large neural network which cannot be
+hold in a single node. For instance, to train models against images with high
+resolution we need large neural networks (in terms of training parameters).
+
+Since *Layer* is the first class citizen in SIGNA, we do the partition against
+layers. Specifically, we support partitions at two levels. First, users can configure
+the location (i.e., worker ID) of each layer. In this way, users assign one worker
+for each layer. Secondly, for one layer, we can partition its neurons or partition
+the instances (e.g, images). They are called layer partition and data partition
+respectively. We illustrate the two types of partitions using an simple convolutional neural network.
+
+<img src="{{ BASE_PATH }}/assets/image/conv-mnist.png" align="center" width="200px"/>
+
+The above figure shows a convolutional neural network without any partition. It
+has 8 layers in total (one rectangular represents one layer). The first layer is
+DataLayer (data) which reads data from local disk files/databases (or HDFS). The second layer
+is a MnistLayer which parses the records from MNIST data to get the pixels of a batch
+of 28 images (each image is of size 28x28). The LabelLayer (label) parses the records to get the label
+of each image in the batch. The ConvolutionalLayer (conv1) transforms the input image to the
+shape of 8x27x27. The ReLULayer (relu1) conducts elementwise transformations. The PoolingLayer (pool1)
+sub-samples the images. The fc1 layer is fully connected with pool1 layer. It
+mulitplies each image with a weight matrix to generate a 10 dimension hidden feature which
+is then normalized by a SoftmaxLossLayer to get the prediction.
+
+<img src="{{ BASE_PATH }}/assets/image/conv-mnist-datap.png" align="center" width="400px"/>
+
+The above figure shows the convolutional neural network after partitioning all layers
+except the DataLayer and ParserLayers, into 3 partitions using data partition.
+The read layers process 4 images of the batch, the black and blue layers process 2 images
+respectively. Some helper layers, i.e., SliceLayer, ConcateLayer, BridgeSrcLayer,
+BridgeDstLayer and SplitLayer, are added automatically by our partition algorithm.
+Layers of the same color resident in the same worker. There would be data transferring
+across different workers at the boundary layers (i.e., BridgeSrcLayer and BridgeDstLayer),
+e.g., between s-slice-mnist-conv1 and d-slice-mnist-conv1.
+
+<img src="{{ BASE_PATH }}/assets/image/conv-mnist-layerp.png" align="center" width="400px"/>
+
+The above figure shows the convolutional neural network after partitioning all layers
+except the DataLayer and ParserLayers, into 2 partitions using layer partition. We can
+see that each layer processes all 8 images from the batch. But different partitions process
+different part of one image. For instance, the layer conv1-00 process only 4 channels. The other
+4 channels are processed by conv1-01 which residents in another worker.
+
+
+Since the partition is done at the layer level, we can apply different partitions for
+different layers to get a hybrid partition for the whole neural network. Moreover,
+we can also specify the layer locations to locate different layers to different workers.

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-03-10-programming-model.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-03-10-programming-model.md b/_posts/docs/2015-03-10-programming-model.md
new file mode 100644
index 0000000..d2aae97
--- /dev/null
+++ b/_posts/docs/2015-03-10-programming-model.md
@@ -0,0 +1,132 @@
+---
+layout: post
+title: Programming Model
+category : docs
+tagline:
+tags : [programming model, API]
+---
+{% include JB/setup %}
+
+We describe the programming model of SINGA in this article.
+Base data structures are introduced firstly, and then we show examples for
+users with different levels of deep learning background.
+
+### Base Data Structures
+
+#### Layer
+
+Layer is the first class citizen in SINGA. Users construct their deep learning
+models by creating layer objects and combining them. SINGA
+takes care of running BackPropagation (or Contrastive Divergence) algorithms
+to calculate the gradients for parameters and calling [Updaters](#updater) to
+update them.
+
+    class Layer{
+      /**
+       * Setup layer properties.
+       * Setup the shapes for data and parameters, also setup some properties
+       * based on the layer configuration and connected src layers.
+       * @param conf user defined layer configuration of type [LayerProto](#netproto)
+       * @param srclayers layers connecting to this layer
+       */
+      Setup(conf, srclayers);
+      /**
+       * Setup the layer properties.
+       * This function is called if the model is partitioned due to distributed
+       * training. Shape of the layer is already set by the partition algorithm,
+       * and is passed in to set other properties.
+       * @param conf user defined layer configuration of type [LayerProto](#netproto)
+       * @param shape shape set by partition algorithm (for distributed training).
+       * @param srclayers layers connecting to this layer
+       */
+      SetupAfterPartition(conf, shape, srclayers);
+      /**
+       * Compute features of this layer based on connected layers.
+       * BP and CD will call this to calculate gradients
+       * @param training boolean phase indicator for training or test
+       * @param srclayers layers connecting to this layer
+       */
+      ComputeFeature(training, srclayers);
+      /**
+       * Compute gradients for parameters and connected layers.
+       * BP and CD will call this to calculate gradients
+       * @param srclayers layers connecting to this layer.
+       */
+      ComputeGradient(srclayers)=0;
+    }
+
+The above pseudo code shows the base Layer class. Users override these
+methods to implement their own layer classes. For example, we have implemented
+popular layers like ConvolutionLayer, InnerProductLayer. We also provide a
+DataLayer which is a base layer for loading (and prefetching) data from disk or HDFS. A base ParserLayer
+is created for parsing the raw data and convert it into records that are recognizable by SINGA.
+
+#### NetProto
+
+Since deep learning models consist of multiple layers. The model structure includes
+the properties of each layer and the connections between layers. SINGA uses
+google protocol buffer for users to configure the model structure. The protocol
+buffer message for the model structure is defined as:
+
+    NetProto{
+      repeated LayerProto layer;
+    }
+
+    LayerProto{
+      string name; // user defined layer name for displaying
+      string type; // One layer class has a unique type.
+      repeated string srclayer_name; // connected layer names;
+      repeated ParamProto param; // parameter configurations
+      ...
+    }
+
+Users can create a plain text file and fill it with the configurations. SINGA
+parses it according to user provided path.
+
+#### Param
+
+The Param class is shown below. Users do not need to extend the Param class for
+most cases. We make it a base class just for future extension. For example,
+if a new initialization trick is proposed in the future, we can override the `Init`
+method to implement it.
+
+    Param{
+      /**
+       * Set properties of the parameter.
+       * @param conf user defined parameter configuration of type ParamProto
+       * @param shape shape of the parameter
+      Setup(conf, shape);
+      /**
+       * Initialize the data of the parameter.
+       /
+      Init();
+      ...// methods to handle synchronizations with parameter servers and other workers
+    }
+
+#### Updater
+
+There are many SGD extensions for updating parameters,
+like [AdaDelta](http://arxiv.org/pdf/1212.5701v1.pdf),
+[AdaGrad](http://www.magicbroom.info/Papers/DuchiHaSi10.pdf),
+[RMSProp](http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf),
+[Nesterov](http://scholar.google.com/citations?view_op=view_citation&hl=en&user=DJ8Ep8YAAAAJ&citation_for_view=DJ8Ep8YAAAAJ:hkOj_22Ku90C)
+and SGD with momentum. We provide a base Updater to deal with these algorithms.
+New parameter updating algorithms can be added by extending the base Updater.
+
+    Updater{
+      /**
+      * @param proto user configuration for the updater.
+      Init(conf);
+      /**
+      * Update parameter based on its gradient
+      * @param step training step
+      * @param param the Param object
+      */
+      Update(step, param);
+    }
+
+### Examples
+
+The [MLP example]({{ BASE_PATH }})
+shows how to configure the model through google protocol buffer.
+

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/docs/2015-03-20-parameter-management.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-03-20-parameter-management.md b/_posts/docs/2015-03-20-parameter-management.md
new file mode 100644
index 0000000..f912335
--- /dev/null
+++ b/_posts/docs/2015-03-20-parameter-management.md
@@ -0,0 +1,174 @@
+---
+layout: post
+title: Parameter Management
+category : docs
+tagline:
+tags : [development, documentation, parameter]
+---
+{% include JB/setup %}
+
+In this article, we describe the parameter management in SINGA.
+
+## Base Classes (Abstractions)
+
+### Param class
+
+Parameters in SINGA are represented by Param objects. (todo: add description for Param class).
+
+
+### ParameterManager class
+
+ParameterManager (PM) is responsible for synchronizing Param objects between workers
+and parameter server.
+
+
+**Draft**: the PM provides APIs for both workers and servers to get and update Param objects.
+
+        /**
+         * block operation called by worker to get the parameter.
+         */
+        bool Get(Param*);
+        /**
+         * Processes Get request and responses to the sender.
+         * Returns true if success, otherwise returns false.
+         */
+        bool HandleGet(int paramId, msg_t* msg);
+        /**
+         * Non-blocking opeartion. It passes the parameter to the PM that maintains it.
+         */
+        bool Put(Param*);
+        /**
+         * Non-blocking operation to processes Put request.
+         * Returns true if success, otherwise returns false.
+         */
+        bool HandlePut(int paramId, msg_t* msg);
+        /**
+         * Non-blocking operation for updating parameters.
+         * It may synchronize the updates to other PMs;
+         */
+        bool Update(Param*);
+        /**
+         * Blocking operation to collect results from the previous update.
+         * E.g., receive responses from remote PM. If the HandleUpdate do not
+         * response automatically, it should request explicitly to the PM.
+         */
+        bool Collect(Param*);
+        /**
+         * Processes Update requests.
+         * It may return responses, e..g, parameter back to the sender.
+         */
+        bool HandleUpdate(paramId, msg_t* msg);
+        /**
+         * Returns the node Id on which to send the Get/Put/Update request.
+         */
+        int Shard(int paramId);
+        /**
+         * Returns whether to synchronize updates to other PMs.
+         */
+        bool SyncNow(int paramId);
+
+  With this general PM design, we can support different cluster topologies by
+  implementing different PMs. The following figure shows the logical components of three topologies.
+  In fact, one server may consist of multiple nodes.
+
+  <img src="{{ BASE_PATH }}/assets/image/history/pm-topology.png" align="center" width="500px"/>
+
+  * Worker-Server. This is the current topology we are using.
+
+  * Worker-Replicated Server. This topology is to reduce the communication overload of a single server (group).
+
+  * Worker-Worker. This topology does not have any parameter servers.
+
+
+## Worker-Server Architecture
+
+In this section, we describe our implementations for the worker-server architecture.
+Workers and servers are multi-threaded. We use ZeroMQ for communication.
+
+**Why ZeroMQ?** Our previous design used MPI for communication between SINGA
+processes. But MPI is a poor choice when it comes to failure recovery, because
+failure at one node brings down the entire MPI cluster. ZeroMQ, on the other
+hand, is fault tolerant in the sense that one node failure does not affect
+the other nodes. ZeroMQ consists of several basic communication patterns
+that can be easily combined to create more complex network topologies.
+
+### Overview
+
+![Figure 1](http://www.comp.nus.edu.sg/~dinhtta/param_server.jpg)
+
+Both workers and servers consist of one main thread and multiple background threads. The main thread sets up communication sockets with other processes and with the background threads. Its main job is to forward messages between different sockets. The worker and server logic are performed by the backgrounds threads.
+
+### Server sockets
+
+The server has one front-end ROUTER socket to receive requests from the workers and other servers. ROUTER socket is used because it allows for responses messages to be routed back to the correct recipients.
+
+Server background threads are called **PMServers**. They connect to the main thread via an _in-proc_ DEALER socket. When the server receives a request, it distributes the request fairly to one of the background threads by simply forwarding to the DEALER socket. This DEALER-DEALER pattern implements a simple form of load balancing.
+
+As explained previously in the [APIs](http://www.comp.nus.edu.sg/~dbsystem/singa/development,%20documentation/2015/03/12/parameter-management/) for parameter management, depending on the consistency model some requests may not be processed immediately but have to be re-queued. Such re-queueing is implemented by having each PMServer instance connects directly to the front-end ROUTER socket. More specifically, when the PMServer decides that a message has to be requeued, it sends the messages to the front-end ROUTER socket which treats the message as another request arriving form the network and queues it for processing.
+
+A server communicates with another server, for example in the replicated server architecture, by having  DEALER sockets connecting to each of its neighbors' front-end sockets. Note that we opt for DEALER-ROUTER  instead of ROUTER-ROUTER pattern to avoid complexity caused by the handshake protocol between ROUTER sockets. Furthermore, the request-reply pattern supported by DEALER-ROUTER is sufficient to implement synchronization between servers.
+
+### Worker sockets
+
+Each worker connects to a server via a DEALER socket enabling the request-reply communication pattern initiated by the worker. The main thread binds an _in-proc_ ROUTER socket to which
+background threads (called **PMClients**) are connected. Note that the internal communication pattern here is DEALER-ROUTER, as opposed to DEALER-DEALER used in the server, because each PMClient must receive the correct response for each request it sent.
+
+PMClient executes the training logic, during which it generates GET and UPDATE requests. A request received at the worker's main thread contains ID of the PMClient instance. The worker determines which server to send the request based on its content, then sends it via the corresponding socket. Response messages received from any of the server socket are forwarded to the in-proc ROUTER socket. Since each response header contains the PMClient ID, it is routed to the correct instance.
+
+
+### Message Formats
+
+  <img src="http://www.comp.nus.edu.sg/~dinhtta/messages.jpg?1222259157.415" alt="">
+
+All messages in SINGA are of multi-frame ZeroMQ format. The figure above demonstrates different types of messages exchanged in the system.
+
+  1. Requests generated by PMClient consist of the parameter content (which could be empty), followed by the parameter ID (key) and the request type (GET/PUT/REQUEST). Responses received by PMClient are also of this format.
+  2. Messages received by the worker's main thread from PMClient instances contain another frame identifying the PMClient connection (or PMClient ID).
+  3. Requests originating form a worker and arriving at the server contain another frame identifying the worker's connection (or Worker ID).
+  4. Requests originating from another server and arriving at the server have the same format as (3), but the first frame identifies the server connection (or Server ID).
+  5. After a PMServer processes a request, it generates a message with the format similar to (3) but with extra frame indicating if the message is to be routed back to a worker (a response message) or to route to another server (a SYNC request).
+  6. When a request is re-queued, the PMServer generates a message and sends it directly to the server's front-end socket. The re-queued request seen by the server's main thread consists of all the frames in (3), followed by a REQUEUED frame, and finally by another frame generated by the ROUTER socket identifying connection from the PMServer instance. The main thread then strips off these additional two frames before  forwarding it to another PMServer instance like another ordinary request.
+
+### Parameter Shard
+
+Background threads at the server have access to a shared list of parameter objects (or parameter shard) maintained by a ParamShard object. When processing a request message, PMServer first looks at the request type, then invokes a method from ParamShard according to the request type. PMServer transfers ownership of the message to the ParamShard method.
+
+Each ParamShard method takes as input an ID and the frame containing the request content. It retrieves the Param object with the specified ID, then invokes the handle provided by the Param object. Consistency models are implemented by Param objects.
+
+The ParamShard APIs are similar to that of Param, except for the extra parameter specifying the ID. Additionally, ParamShard APIs contain a method for determining if a Param object needs to be synchronized with other servers:
+
+    bool sync_now(int paramID);
+
+
+###  Topology
+
+Setting a different network topology for workers and servers, as shown in [previous article](http://www.comp.nus.edu.sg/~dbsystem/singa/development,%20documentation/2015/03/12/parameter-management/), is done via a configuration file. In particular, the config file is read into a ProtoBuf message called Topology and is known to all SINGA processes. The Topology message contains multiple ServerConfig, WorkerConfig and ServerSet messages.
+
+    message Topology{
+      repeated ServerConfig server = 5; //parameter server network
+      repeated WorkerConfig worker = 6;
+      repeated ServerSet server_group = 7;
+    }
+
+Each ServerConfig message specifies properties of a server process, namely its ID, network address, its neighbor IDs, synchronization interval and the number threads (or PMServer instances). Each WorkerConfig message represents a worker process, containing the worker's global ID, group and local ID (for replicated server architecture), and the number of threads (or PMClient instances). Finally, the ServerSet message represents a server group in the replicated server architecture. Each server group is identified by a group ID and the set of server IDs.
+
+    message ServerConfig{
+      required int32 id = 1;
+      required string ip = 2;
+      required int32 port = 3;
+      repeated int32 neighbor = 4; //upstream neighbors
+      required int32 sync_interval = 5; //how many update (per Param) before syncing
+      required int32 threads = 6;
+    }
+
+    message WorkerConfig{
+      required int32 global_id = 1; //node id
+      required int32 local_id = 2; //id in the group
+      required int32 group_id = 3; //ServerSet ID
+      required int32 threads = 4;
+    }
+
+    message ServerSet{
+      required int32 id = 1;
+      repeated int32 neighbor = 2; //set of primary server
+    }

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/_posts/research/00-publication.md
----------------------------------------------------------------------
diff --git a/_posts/research/00-publication.md b/_posts/research/00-publication.md
new file mode 100644
index 0000000..c94c085
--- /dev/null
+++ b/_posts/research/00-publication.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: Publication
+category : research
+tagline:
+tags : [Publication]
+---
+{% include JB/setup %}
+
+### Conference Paper
+
+* W. Wang, B.C. Ooi, X. Yang, D. Zhang, Y. Zhuang:
+  [Effective MultiModal Retrieval based on Stacked AutoEncoders](http://www.comp.nus.edu.sg/~ooibc/crossmodalvldb14.pdf).
+  Int'l Conference on Very Large Data Bases (VLDB), 2014.
+
+### Technical Report
+
+* W. Wang, G. Chen, T.T.A. Dinh, J. Gao, B.C. Ooi, K.L. Tan:
+  [SINGA: A Distributed System for Deep Learning]({{ BASE_PATH }}/assets/file/singa.pdf)



[33/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DataLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DataLayer-members.html b/api/classsinga_1_1DataLayer-members.html
new file mode 100644
index 0000000..7c9f087
--- /dev/null
+++ b/api/classsinga_1_1DataLayer-members.html
@@ -0,0 +1,165 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1DataLayer.html">DataLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::DataLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>batchsize</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>batchsize_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0"><td class="entry"><b>has_set_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_datalayer</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_data</b>(const Layer *layer=nullptr) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#abc76f037afc13a17ab07082cfae945de">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"><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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prefetch_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Prefetching</b>(bool training) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>random_skip_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>records</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>records_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sample</b>() const  (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>sample_</b> (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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>set_prefetch</b>(bool prefetch) (defined in <a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#aad95cbeac929cdb9eeb7fb6e7996ac26">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataLayer.html">singa::DataLayer</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>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DataLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DataLayer.html b/api/classsinga_1_1DataLayer.html
new file mode 100644
index 0000000..d2164c3
--- /dev/null
+++ b/api/classsinga_1_1DataLayer.html
@@ -0,0 +1,578 @@
+<!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.6"/>
+<title>Apache SINGA: singa::DataLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1DataLayer.html">DataLayer</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_1DataLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::DataLayer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>base layer for prefetching records from local Shard, HDFS, lmdb, etc.  
+ <a href="classsinga_1_1DataLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::DataLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1DataLayer.png" usemap="#singa::DataLayer_map" alt=""/>
+  <map id="singa::DataLayer_map" name="singa::DataLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="76,0,218,24"/>
+<area href="classsinga_1_1LMDBDataLayer.html" alt="singa::LMDBDataLayer" shape="rect" coords="0,112,142,136"/>
+<area href="classsinga_1_1ShardDataLayer.html" alt="singa::ShardDataLayer" shape="rect" coords="152,112,294,136"/>
+</map>
+ </div></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:a1764fa7801dd568e706beacf18d284b0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a1764fa7801dd568e706beacf18d284b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a1764fa7801dd568e706beacf18d284b0">More...</a><br/></td></tr>
+<tr class="separator:a1764fa7801dd568e706beacf18d284b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad95cbeac929cdb9eeb7fb6e7996ac26"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#aad95cbeac929cdb9eeb7fb6e7996ac26">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:aad95cbeac929cdb9eeb7fb6e7996ac26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#aad95cbeac929cdb9eeb7fb6e7996ac26">More...</a><br/></td></tr>
+<tr class="separator:aad95cbeac929cdb9eeb7fb6e7996ac26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af721c9697239513cbab4a39680557da1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af721c9697239513cbab4a39680557da1"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:af721c9697239513cbab4a39680557da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ab6f424cb1838773bb16c94d6a585a5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a2ab6f424cb1838773bb16c94d6a585a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a2ab6f424cb1838773bb16c94d6a585a5">More...</a><br/></td></tr>
+<tr class="separator:a2ab6f424cb1838773bb16c94d6a585a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a861a39f12637b9873c00eccfaf8218dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a861a39f12637b9873c00eccfaf8218dc"></a>
+virtual const vector&lt; Record &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>records</b> () const </td></tr>
+<tr class="separator:a861a39f12637b9873c00eccfaf8218dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703368d1972e8343e0dea4acd93702ae"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">Setup</a> ()</td></tr>
+<tr class="memdesc:a703368d1972e8343e0dea4acd93702ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a703368d1972e8343e0dea4acd93702ae">More...</a><br/></td></tr>
+<tr class="separator:a703368d1972e8343e0dea4acd93702ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c7b81249e522dd231a098ffed481496"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a3c7b81249e522dd231a098ffed481496"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a3c7b81249e522dd231a098ffed481496">More...</a><br/></td></tr>
+<tr class="separator:a3c7b81249e522dd231a098ffed481496"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9409f6c2e8c697df94cbc4de445f033e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9409f6c2e8c697df94cbc4de445f033e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a9409f6c2e8c697df94cbc4de445f033e">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a9409f6c2e8c697df94cbc4de445f033e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a9409f6c2e8c697df94cbc4de445f033e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ffcae36ddcc4a445b9a91b083b29d2b"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">partition_type</a> () const </td></tr>
+<tr class="memdesc:a5ffcae36ddcc4a445b9a91b083b29d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a5ffcae36ddcc4a445b9a91b083b29d2b">More...</a><br/></td></tr>
+<tr class="separator:a5ffcae36ddcc4a445b9a91b083b29d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a7c62ba442da367c22fdcc477eecc55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a7c62ba442da367c22fdcc477eecc55"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize</b> () const </td></tr>
+<tr class="separator:a9a7c62ba442da367c22fdcc477eecc55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27ccfa2654a5c6cf0bf7efe453686e55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27ccfa2654a5c6cf0bf7efe453686e55"></a>
+virtual const Record &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>sample</b> () const </td></tr>
+<tr class="separator:a27ccfa2654a5c6cf0bf7efe453686e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c1f66e9fa9ff8cfddc984de18a6c79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88c1f66e9fa9ff8cfddc984de18a6c79"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a88c1f66e9fa9ff8cfddc984de18a6c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae15c0c4720f0a070fcfc3416c1449a97"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:ae15c0c4720f0a070fcfc3416c1449a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cad630361426ef44d7eec3983eb5138"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cad630361426ef44d7eec3983eb5138"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_prefetch</b> (bool prefetch)</td></tr>
+<tr class="separator:a1cad630361426ef44d7eec3983eb5138"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e18bde747d349aff7ea7dc3a835c7fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e18bde747d349aff7ea7dc3a835c7fc"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataLayer.html#a7e18bde747d349aff7ea7dc3a835c7fc">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:a7e18bde747d349aff7ea7dc3a835c7fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31b0158c549f2671ba18e91964540ab8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31b0158c549f2671ba18e91964540ab8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Prefetching</b> (bool training)</td></tr>
+<tr class="separator:a31b0158c549f2671ba18e91964540ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:aa056218d817d9f7e3a1134bc720ee1f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa056218d817d9f7e3a1134bc720ee1f4"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_set_</b></td></tr>
+<tr class="separator:aa056218d817d9f7e3a1134bc720ee1f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3e8b9fd61209735e006d88e718eacce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3e8b9fd61209735e006d88e718eacce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>prefetch_</b></td></tr>
+<tr class="separator:ab3e8b9fd61209735e006d88e718eacce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d074d1bb6c8c07dc88177c8f1a1839e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d074d1bb6c8c07dc88177c8f1a1839e"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>random_skip_</b></td></tr>
+<tr class="separator:a8d074d1bb6c8c07dc88177c8f1a1839e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2e2868a9b7baee2e0edc9c97f4508c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2e2868a9b7baee2e0edc9c97f4508c2"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize_</b></td></tr>
+<tr class="separator:ae2e2868a9b7baee2e0edc9c97f4508c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af395ff4d15be91a719464f4bad109bb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af395ff4d15be91a719464f4bad109bb8"></a>
+Record&#160;</td><td class="memItemRight" valign="bottom"><b>sample_</b></td></tr>
+<tr class="separator:af395ff4d15be91a719464f4bad109bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8081b038aa2d5b07bf547f72db61f6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8081b038aa2d5b07bf547f72db61f6e"></a>
+vector&lt; Record &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>records_</b></td></tr>
+<tr class="separator:ab8081b038aa2d5b07bf547f72db61f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>base layer for prefetching records from local Shard, HDFS, lmdb, etc. </p>
+<p>cannot be partitioned, always returns kNone for partition type. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a1764fa7801dd568e706beacf18d284b0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DataLayer::ComputeFeature </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute features of this layer based on connected layers. </p>
+<p>Implement forward propagation for BP; TODO Implement both postive phase and negative phase for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2ab6f424cb1838773bb16c94d6a585a5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DataLayer::ComputeGradient </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Compute gradients for parameters and connecting layers. </p>
+<p>Implement backward propagation for BP; TODO Calculate gradients for parameters for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae15c0c4720f0a070fcfc3416c1449a97"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classBlob.html">Blob</a>&lt;float&gt;* singa::DataLayer::mutable_grad </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></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">
+<dl class="section return"><dt>Returns</dt><dd>a pointer to storing neuron grads of this layer for BP </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5ffcae36ddcc4a445b9a91b083b29d2b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual PartitionType singa::DataLayer::partition_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>return partition type of this layer. </p>
+<p>E.g., kNone, kLayer or kData </p>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aad95cbeac929cdb9eeb7fb6e7996ac26"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DataLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1LMDBDataLayer.html#a715e5072cbf8897531f88bb681698081">singa::LMDBDataLayer</a>, and <a class="el" href="classsinga_1_1ShardDataLayer.html#a3dbc554bbed8a2515c3bb8b6948dd407">singa::ShardDataLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a703368d1972e8343e0dea4acd93702ae"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DataLayer::Setup </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 class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3c7b81249e522dd231a098ffed481496"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::DataLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DataLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DataLayer.png b/api/classsinga_1_1DataLayer.png
new file mode 100644
index 0000000..45ef9b1
Binary files /dev/null and b/api/classsinga_1_1DataLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DataShard-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DataShard-members.html b/api/classsinga_1_1DataShard-members.html
new file mode 100644
index 0000000..e5ee03b
--- /dev/null
+++ b/api/classsinga_1_1DataShard-members.html
@@ -0,0 +1,122 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1DataShard.html">DataShard</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::DataShard Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a981e05115560a0f2cd9eac910e98fd25">Count</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a6e77727aecc2f9c02b1de6f23bd2a897">DataShard</a>(std::string folder, char mode, int capacity=104857600)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#ae73c176fca13d4aa7389af7cff327e77">Flush</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#abb51034daa81769ee59f7367eb29aeac">Insert</a>(const std::string &amp;key, const Message &amp;tuple)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#ae77af51b5e1f89f7e11212a781c8882e">Insert</a>(const std::string &amp;key, const std::string &amp;tuple)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kAppend</b> enum value (defined in <a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a5ac705d39e7311c547c49302085b356da1a654b4408789f3c0ab4801ed70844cf">kCreate</a> enum value</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a5ac705d39e7311c547c49302085b356daa9137a258a61dcfcac6c1178671a8bd2">kRead</a> enum value</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#af8c2ef534766e7791b7a442175488272">Next</a>(std::string *key, Message *val)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#ad9532ec3d004d4a09cf2329daa1eb49c">Next</a>(std::string *key, std::string *val)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a749fbab9c9e910ec559100694ea38332">Next</a>(std::string *key)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a0a67c81cb0a56c990b0f750e4b2aff31">path</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#af5ac9de0e9760be5142a968fd5602d19">PrepareForAppend</a>(std::string path)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a651e8bfe357f5bed8dd59470262fd3b4">PrepareNextField</a>(int size)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1DataShard.html#a5dc1c875bcca99c4cf93ec79d65d3b6e">SeekToFirst</a>()</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~DataShard</b>() (defined in <a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DataShard.html">singa::DataShard</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[40/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html b/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html
new file mode 100644
index 0000000..7fb5303
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html
@@ -0,0 +1,119 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4.html">Plan< UnaryMapExp< OP, TA, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1Plan_3_01UnaryMapExp_3_01OP_00_01TA_00_01etype_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::Plan&lt; UnaryMapExp&lt; OP, TA, etype &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a09e85e6e1b93a0761dd588b975816921"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09e85e6e1b93a0761dd588b975816921"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Plan</b> (const <a class="el" href="classmshadow_1_1expr_1_1Plan.html">Plan</a>&lt; TA &gt; &amp;src)</td></tr>
+<tr class="separator:a09e85e6e1b93a0761dd588b975816921"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb9cf8d48b289a41e073e8cb6a170f8d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb9cf8d48b289a41e073e8cb6a170f8d"></a>
+MSHADOW_XINLINE <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:adb9cf8d48b289a41e073e8cb6a170f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__engine-inl_8hpp_source.html">tensor_expr_engine-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan-members.html b/api/classmshadow_1_1expr_1_1SSEPlan-members.html
new file mode 100644
index 0000000..b68ed40
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">SSEPlan</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; ExpType &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">mshadow::expr::SSEPlan&lt; ExpType &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">mshadow::expr::SSEPlan&lt; ExpType &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">mshadow::expr::SSEPlan&lt; ExpType &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html#acb36b194f9f2e3a0975128440d2b98b8">EvalSSE</a>(index_t y, index_t x) const </td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">mshadow::expr::SSEPlan&lt; ExpType &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan.html b/api/classmshadow_1_1expr_1_1SSEPlan.html
new file mode 100644
index 0000000..dc7ec74
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::SSEPlan&lt; ExpType &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">SSEPlan</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1SSEPlan-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; ExpType &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:acb36b194f9f2e3a0975128440d2b98b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb36b194f9f2e3a0975128440d2b98b8"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="structmshadow_1_1sse2_1_1FVec.html">sse2::FVec</a><br class="typebreak"/>
+&lt; <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html#acb36b194f9f2e3a0975128440d2b98b8">EvalSSE</a> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="memdesc:acb36b194f9f2e3a0975128440d2b98b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">evaluate the expression at index [y][x], x will be aligned to 4 to be implemented by SubType <br/></td></tr>
+<tr class="separator:acb36b194f9f2e3a0975128440d2b98b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b927502fd3695ac0712826e50853d45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b927502fd3695ac0712826e50853d45"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a5b927502fd3695ac0712826e50853d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__sse-inl_8hpp_source.html">tensor_sse-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html
new file mode 100644
index 0000000..deecdff
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">SSEPlan< BinaryMapExp< OP, TA, TB, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>EvalSSE</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SSEPlan</b>(const SSEPlan&lt; TA &gt; &amp;lhs, const SSEPlan&lt; TB &gt; &amp;rhs) (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html
new file mode 100644
index 0000000..aafdd3b
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html
@@ -0,0 +1,123 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html">SSEPlan< BinaryMapExp< OP, TA, TB, etype > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1SSEPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01etype_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; BinaryMapExp&lt; OP, TA, TB, etype &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:aff802244c81f59b9564f5e4c7fd7c10f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff802244c81f59b9564f5e4c7fd7c10f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>SSEPlan</b> (const <a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">SSEPlan</a>&lt; TA &gt; &amp;lhs, const <a class="el" href="classmshadow_1_1expr_1_1SSEPlan.html">SSEPlan</a>&lt; TB &gt; &amp;rhs)</td></tr>
+<tr class="separator:aff802244c81f59b9564f5e4c7fd7c10f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86e73dc132f5301dada53889d0ea7687"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86e73dc132f5301dada53889d0ea7687"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="structmshadow_1_1sse2_1_1FVec.html">sse2::FVec</a><br class="typebreak"/>
+&lt; <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>EvalSSE</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a86e73dc132f5301dada53889d0ea7687"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a495064c91636fb1e54d947d1670612c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a495064c91636fb1e54d947d1670612c9"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a495064c91636fb1e54d947d1670612c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__sse-inl_8hpp_source.html">tensor_sse-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4-members.html
new file mode 100644
index 0000000..6a71a68
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">SSEPlan< Broadcast1DExp< cpu, dimdst, 0 > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>EvalSSE</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SSEPlan</b>(const Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &amp;t) (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html
new file mode 100644
index 0000000..8ec1762
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html
@@ -0,0 +1,123 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html">SSEPlan< Broadcast1DExp< cpu, dimdst, 0 > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1SSEPlan_3_01Broadcast1DExp_3_01cpu_00_01dimdst_00_010_01_4_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; Broadcast1DExp&lt; cpu, dimdst, 0 &gt; &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a6e97443c2dbab963c74965898f8cd842"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e97443c2dbab963c74965898f8cd842"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>SSEPlan</b> (const <a class="el" href="structmshadow_1_1expr_1_1Broadcast1DExp.html">Broadcast1DExp</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dimdst, 0 &gt; &amp;t)</td></tr>
+<tr class="separator:a6e97443c2dbab963c74965898f8cd842"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae92d3fc79c5b034025b34f82ad09cf37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae92d3fc79c5b034025b34f82ad09cf37"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="structmshadow_1_1sse2_1_1FVec.html">sse2::FVec</a><br class="typebreak"/>
+&lt; <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>EvalSSE</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:ae92d3fc79c5b034025b34f82ad09cf37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac35f797595aa070bfaf79c4892d0a636"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac35f797595aa070bfaf79c4892d0a636"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:ac35f797595aa070bfaf79c4892d0a636"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__expr__ext_8h_source.html">tensor_expr_ext.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4-members.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4-members.html
new file mode 100644
index 0000000..fb48f3d
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">SSEPlan< ScalarExp ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; ScalarExp &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>EvalSSE</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SSEPlan</b>(real_t scalar) (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">mshadow::expr::SSEPlan&lt; ScalarExp &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html
new file mode 100644
index 0000000..99ec087
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html
@@ -0,0 +1,123 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::expr::SSEPlan&lt; ScalarExp &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html">SSEPlan< ScalarExp ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; ScalarExp &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:afe9a69d3094227e3c2aaac8f09702fde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe9a69d3094227e3c2aaac8f09702fde"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>SSEPlan</b> (<a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> scalar)</td></tr>
+<tr class="separator:afe9a69d3094227e3c2aaac8f09702fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38b9b768aad12c51d775fcca5eab4c5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38b9b768aad12c51d775fcca5eab4c5c"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="structmshadow_1_1sse2_1_1FVec.html">sse2::FVec</a><br class="typebreak"/>
+&lt; <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>EvalSSE</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:a38b9b768aad12c51d775fcca5eab4c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea71d4aad2453f9e7bf0148778570e9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea71d4aad2453f9e7bf0148778570e9f"></a>
+<a class="el" href="tensor__base_8h.html#ae3f37fc5e892a11db794e475fae404a8">MSHADOW_CINLINE</a> <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Eval</b> (<a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> y, <a class="el" href="namespacemshadow.html#a6b28b89656a269ae8d5188964c3b3adb">index_t</a> x) const </td></tr>
+<tr class="separator:aea71d4aad2453f9e7bf0148778570e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__sse-inl_8hpp_source.html">tensor_sse-inl.hpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html
new file mode 100644
index 0000000..981d686
--- /dev/null
+++ b/api/classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></li><li class="navelem"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">SSEPlan< Tensor< Device, dim > ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Eval</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>EvalSSE</b>(index_t y, index_t x) const  (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SSEPlan</b>(const Tensor&lt; Device, dim &gt; &amp;t) (defined in <a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1SSEPlan_3_01Tensor_3_01Device_00_01dim_01_4_01_4.html">mshadow::expr::SSEPlan&lt; Tensor&lt; Device, dim &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[04/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResultArray.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResultArray.html b/api/classtesting_1_1TestPartResultArray.html
new file mode 100644
index 0000000..0697063
--- /dev/null
+++ b/api/classtesting_1_1TestPartResultArray.html
@@ -0,0 +1,123 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestPartResultArray 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestPartResultArray.html">TestPartResultArray</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1TestPartResultArray-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestPartResultArray Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a01844bd505b18a666324617a1b459558"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01844bd505b18a666324617a1b459558"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Append</b> (const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;result)</td></tr>
+<tr class="separator:a01844bd505b18a666324617a1b459558"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a799a09c9ad8c1c8875400af78efe4b17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a799a09c9ad8c1c8875400af78efe4b17"></a>
+const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetTestPartResult</b> (int index) const </td></tr>
+<tr class="separator:a799a09c9ad8c1c8875400af78efe4b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd805ad4edda06d983456b2a30760dce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd805ad4edda06d983456b2a30760dce"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> () const </td></tr>
+<tr class="separator:acd805ad4edda06d983456b2a30760dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResultReporterInterface-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResultReporterInterface-members.html b/api/classtesting_1_1TestPartResultReporterInterface-members.html
new file mode 100644
index 0000000..79328e8
--- /dev/null
+++ b/api/classtesting_1_1TestPartResultReporterInterface-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">TestPartResultReporterInterface</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestPartResultReporterInterface Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReportTestPartResult</b>(const TestPartResult &amp;result)=0 (defined in <a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~TestPartResultReporterInterface</b>() (defined in <a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">testing::TestPartResultReporterInterface</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResultReporterInterface.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResultReporterInterface.html b/api/classtesting_1_1TestPartResultReporterInterface.html
new file mode 100644
index 0000000..c250270
--- /dev/null
+++ b/api/classtesting_1_1TestPartResultReporterInterface.html
@@ -0,0 +1,128 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestPartResultReporterInterface 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestPartResultReporterInterface.html">TestPartResultReporterInterface</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1TestPartResultReporterInterface-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestPartResultReporterInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::TestPartResultReporterInterface:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1TestPartResultReporterInterface.png" usemap="#testing::TestPartResultReporterInterface_map" alt=""/>
+  <map id="testing::TestPartResultReporterInterface_map" name="testing::TestPartResultReporterInterface_map">
+<area href="classtesting_1_1internal_1_1DefaultGlobalTestPartResultReporter.html" alt="testing::internal::DefaultGlobalTestPartResultReporter" shape="rect" coords="0,56,331,80"/>
+<area href="classtesting_1_1internal_1_1DefaultPerThreadTestPartResultReporter.html" alt="testing::internal::DefaultPerThreadTestPartResultReporter" shape="rect" coords="341,56,672,80"/>
+<area href="classtesting_1_1internal_1_1HasNewFatalFailureHelper.html" alt="testing::internal::HasNewFatalFailureHelper" shape="rect" coords="682,56,1013,80"/>
+<area href="classtesting_1_1ScopedFakeTestPartResultReporter.html" alt="testing::ScopedFakeTestPartResultReporter" shape="rect" coords="1023,56,1354,80"/>
+</map>
+ </div></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:aa2f920e7a5a0a6d0faf19e3727928c22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2f920e7a5a0a6d0faf19e3727928c22"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ReportTestPartResult</b> (const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;result)=0</td></tr>
+<tr class="separator:aa2f920e7a5a0a6d0faf19e3727928c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestPartResultReporterInterface.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestPartResultReporterInterface.png b/api/classtesting_1_1TestPartResultReporterInterface.png
new file mode 100644
index 0000000..2240055
Binary files /dev/null and b/api/classtesting_1_1TestPartResultReporterInterface.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestProperty-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestProperty-members.html b/api/classtesting_1_1TestProperty-members.html
new file mode 100644
index 0000000..9521859
--- /dev/null
+++ b/api/classtesting_1_1TestProperty-members.html
@@ -0,0 +1,110 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestProperty.html">TestProperty</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestProperty Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key</b>() const  (defined in <a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SetValue</b>(const std::string &amp;new_value) (defined in <a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TestProperty</b>(const std::string &amp;a_key, const std::string &amp;a_value) (defined in <a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value</b>() const  (defined in <a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestProperty.html">testing::TestProperty</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestProperty.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestProperty.html b/api/classtesting_1_1TestProperty.html
new file mode 100644
index 0000000..f6db621
--- /dev/null
+++ b/api/classtesting_1_1TestProperty.html
@@ -0,0 +1,125 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestProperty 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestProperty.html">TestProperty</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1TestProperty-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestProperty Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a25a0ccf1c75a92af46a48d3c2a873e6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25a0ccf1c75a92af46a48d3c2a873e6d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>TestProperty</b> (const std::string &amp;a_key, const std::string &amp;a_value)</td></tr>
+<tr class="separator:a25a0ccf1c75a92af46a48d3c2a873e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c569d47685b89aa64e737fb11df3aba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c569d47685b89aa64e737fb11df3aba"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>key</b> () const </td></tr>
+<tr class="separator:a2c569d47685b89aa64e737fb11df3aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad46323c18491f365d72d8a4288f54bd6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad46323c18491f365d72d8a4288f54bd6"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>value</b> () const </td></tr>
+<tr class="separator:ad46323c18491f365d72d8a4288f54bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a377245335d9f614cd06d1650e3358e1d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a377245335d9f614cd06d1650e3358e1d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>SetValue</b> (const std::string &amp;new_value)</td></tr>
+<tr class="separator:a377245335d9f614cd06d1650e3358e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestResult-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestResult-members.html b/api/classtesting_1_1TestResult-members.html
new file mode 100644
index 0000000..6fb502b
--- /dev/null
+++ b/api/classtesting_1_1TestResult-members.html
@@ -0,0 +1,125 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestResult.html">TestResult</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestResult Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>elapsed_time</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Failed</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetTestPartResult</b>(int i) const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetTestProperty</b>(int i) const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HasFatalFailure</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HasNonfatalFailure</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::DefaultGlobalTestPartResultReporter</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::ExecDeathTest</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::TestResultAccessor</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::UnitTestImpl</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::WindowsDeathTest</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Passed</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>test_property_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestCase</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TestInfo</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TestResult</b>() (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>total_part_count</b>() const  (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UnitTest</b> (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~TestResult</b>() (defined in <a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a>)</td><td class="entry"><a class="el" href="classtesting_1_1TestResult.html">testing::TestResult</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestResult.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestResult.html b/api/classtesting_1_1TestResult.html
new file mode 100644
index 0000000..08183bc
--- /dev/null
+++ b/api/classtesting_1_1TestResult.html
@@ -0,0 +1,169 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestResult 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestResult.html">TestResult</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1TestResult-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestResult Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:ae6a378ec743edfbed55890c955d0adc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6a378ec743edfbed55890c955d0adc8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>total_part_count</b> () const </td></tr>
+<tr class="separator:ae6a378ec743edfbed55890c955d0adc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5075f9d595d51c7cc2f5c0921e622831"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5075f9d595d51c7cc2f5c0921e622831"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>test_property_count</b> () const </td></tr>
+<tr class="separator:a5075f9d595d51c7cc2f5c0921e622831"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa46a04342f02ec297357f47288da3ef3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa46a04342f02ec297357f47288da3ef3"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Passed</b> () const </td></tr>
+<tr class="separator:aa46a04342f02ec297357f47288da3ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb5d051bf958071c14020132a4d6cc07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb5d051bf958071c14020132a4d6cc07"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Failed</b> () const </td></tr>
+<tr class="separator:abb5d051bf958071c14020132a4d6cc07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace61ce992083a9124f9ff0e99a2041cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace61ce992083a9124f9ff0e99a2041cc"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasFatalFailure</b> () const </td></tr>
+<tr class="separator:ace61ce992083a9124f9ff0e99a2041cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34e6901b9772f51ce4f17a5517c26607"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34e6901b9772f51ce4f17a5517c26607"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasNonfatalFailure</b> () const </td></tr>
+<tr class="separator:a34e6901b9772f51ce4f17a5517c26607"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a582f6383265d0619df812b75499d0616"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a582f6383265d0619df812b75499d0616"></a>
+TimeInMillis&#160;</td><td class="memItemRight" valign="bottom"><b>elapsed_time</b> () const </td></tr>
+<tr class="separator:a582f6383265d0619df812b75499d0616"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08b680f63d91391db4161f909da2bbcc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08b680f63d91391db4161f909da2bbcc"></a>
+const <a class="el" href="classtesting_1_1TestPartResult.html">TestPartResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetTestPartResult</b> (int i) const </td></tr>
+<tr class="separator:a08b680f63d91391db4161f909da2bbcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2cb23a457a444ba85684dd655895f08e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2cb23a457a444ba85684dd655895f08e"></a>
+const <a class="el" href="classtesting_1_1TestProperty.html">TestProperty</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetTestProperty</b> (int i) const </td></tr>
+<tr class="separator:a2cb23a457a444ba85684dd655895f08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a4c49c2cdb6c328e6b709b4542f23de3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c49c2cdb6c328e6b709b4542f23de3c"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>TestInfo</b></td></tr>
+<tr class="separator:a4c49c2cdb6c328e6b709b4542f23de3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff779e55b06adfa7c0088bd10253f0f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff779e55b06adfa7c0088bd10253f0f0"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>TestCase</b></td></tr>
+<tr class="separator:aff779e55b06adfa7c0088bd10253f0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a832b4d233efee1a32feb0f4190b30d39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a832b4d233efee1a32feb0f4190b30d39"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>UnitTest</b></td></tr>
+<tr class="separator:a832b4d233efee1a32feb0f4190b30d39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abae39633da9932847b41cb80efd62115"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abae39633da9932847b41cb80efd62115"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::DefaultGlobalTestPartResultReporter</b></td></tr>
+<tr class="separator:abae39633da9932847b41cb80efd62115"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf5553cae6aea6f8648d47e299237e34"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf5553cae6aea6f8648d47e299237e34"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::ExecDeathTest</b></td></tr>
+<tr class="separator:adf5553cae6aea6f8648d47e299237e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae762da04e74a0d3b0daded3c5bd4a8e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae762da04e74a0d3b0daded3c5bd4a8e8"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::TestResultAccessor</b></td></tr>
+<tr class="separator:ae762da04e74a0d3b0daded3c5bd4a8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc0a5e7573fd6ae7ad1878613bb86853"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::UnitTestImpl</b></td></tr>
+<tr class="separator:acc0a5e7573fd6ae7ad1878613bb86853"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aeedc04a0590fcc1b3c5f687dbb0f9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6aeedc04a0590fcc1b3c5f687dbb0f9f"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::WindowsDeathTest</b></td></tr>
+<tr class="separator:a6aeedc04a0590fcc1b3c5f687dbb0f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestWithParam-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestWithParam-members.html b/api/classtesting_1_1TestWithParam-members.html
new file mode 100644
index 0000000..e0ed62f
--- /dev/null
+++ b/api/classtesting_1_1TestWithParam-members.html
@@ -0,0 +1,122 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestWithParam.html">TestWithParam</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::TestWithParam&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1TestWithParam.html">testing::TestWithParam&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetParam</b>() const  (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HasFailure</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HasFatalFailure</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HasNonfatalFailure</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParamType</b> typedef (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>RecordProperty</b>(const std::string &amp;key, const std::string &amp;value) (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RecordProperty</b>(const std::string &amp;key, int value) (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SetUp</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SetUpTestCase</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SetUpTestCaseFunc</b> typedef (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TearDown</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TearDownTestCase</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TearDownTestCaseFunc</b> typedef (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Test</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Test</b>() (defined in <a class="el" href="classtesting_1_1Test.html">testing::Test</a>)</td><td class="entry"><a class="el" href="classtesting_1_1Test.html">testing::Test</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~WithParamInterface</b>() (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[54/57] incubator-singa git commit: preview on github works by setting BASE_PATH to username.github.io/projectname

Posted by wa...@apache.org.
preview on github works by setting BASE_PATH to username.github.io/projectname


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/6a791327
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/6a791327
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/6a791327

Branch: refs/heads/gh-pages
Commit: 6a7913272caad50b34c431a2c096b63284be4734
Parents: c15958a
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 20:21:33 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 20:21:33 2015 +0800

----------------------------------------------------------------------
 _config.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/6a791327/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index 2376ac1..ea88a9e 100644
--- a/_config.yml
+++ b/_config.yml
@@ -54,7 +54,7 @@ JB :
   #   - When setting BASE_PATH it must be a valid url.
   #     This means always setting the protocol (http|https) or prefixing with "/"
   #
-  BASE_PATH :  "http://nudles.github.io/incubator-singa" #http://www.comp.nus.edu.sg/~wangwei
+  BASE_PATH :  "http://apache.github.io/singa" #http://www.comp.nus.edu.sg/~wangwei
 
   # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
   # ex: [BASE_PATH]/assets/themes/[THEME-NAME]


[14/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SliceLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SliceLayer-members.html b/api/classsinga_1_1SliceLayer-members.html
new file mode 100644
index 0000000..0ffb533
--- /dev/null
+++ b/api/classsinga_1_1SliceLayer-members.html
@@ -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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SliceLayer.html">SliceLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::SliceLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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_1SliceLayer.html#a635401ab1990f4dd97bf936cc6c61e71">data</a>(const Layer *layer=nullptr) const </td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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 bgcolor="#f0f0f0"><td class="entry"><b>datavec_</b> (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad</b>(const Layer *layer=nullptr) const  (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>gradvec_</b> (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *layer=nullptr) (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html#a4022c8722eb9b77d8b774c8987c4cf7e">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1SliceLayer.html#a965d30f2b8ddb853b661671f73d7e8ea">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html#a15ce41c27243962d2c6c9791f9661ace">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SliceID</b>(const Layer *layer) const  (defined in <a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SliceLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SliceLayer.html b/api/classsinga_1_1SliceLayer.html
new file mode 100644
index 0000000..30cb33d
--- /dev/null
+++ b/api/classsinga_1_1SliceLayer.html
@@ -0,0 +1,444 @@
+<!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.6"/>
+<title>Apache SINGA: singa::SliceLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SliceLayer.html">SliceLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1SliceLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::SliceLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Slice this layer into multiple dst layers on one dimension.  
+ <a href="classsinga_1_1SliceLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::SliceLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1SliceLayer.png" usemap="#singa::SliceLayer_map" alt=""/>
+  <map id="singa::SliceLayer_map" name="singa::SliceLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,109,24"/>
+</map>
+ </div></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:a965d30f2b8ddb853b661671f73d7e8ea"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SliceLayer.html#a965d30f2b8ddb853b661671f73d7e8ea">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a965d30f2b8ddb853b661671f73d7e8ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a965d30f2b8ddb853b661671f73d7e8ea">More...</a><br/></td></tr>
+<tr class="separator:a965d30f2b8ddb853b661671f73d7e8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15ce41c27243962d2c6c9791f9661ace"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15ce41c27243962d2c6c9791f9661ace"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SliceLayer.html#a15ce41c27243962d2c6c9791f9661ace">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a15ce41c27243962d2c6c9791f9661ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a15ce41c27243962d2c6c9791f9661ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf443fffadbdb5671e7982028689bbca"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:adf443fffadbdb5671e7982028689bbca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#adf443fffadbdb5671e7982028689bbca">More...</a><br/></td></tr>
+<tr class="separator:adf443fffadbdb5671e7982028689bbca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a635401ab1990f4dd97bf936cc6c61e71"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SliceLayer.html#a635401ab1990f4dd97bf936cc6c61e71">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a635401ab1990f4dd97bf936cc6c61e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a057e2c2b571d3ba8526a3944a7bd05da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a057e2c2b571d3ba8526a3944a7bd05da"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a057e2c2b571d3ba8526a3944a7bd05da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adad53b73b1debe2d3f0e7fdfa7d2493c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adad53b73b1debe2d3f0e7fdfa7d2493c"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:adad53b73b1debe2d3f0e7fdfa7d2493c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4022c8722eb9b77d8b774c8987c4cf7e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1SliceLayer.html#a4022c8722eb9b77d8b774c8987c4cf7e">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a4022c8722eb9b77d8b774c8987c4cf7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91421469bced24dc7be3f3e4af9eb58d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91421469bced24dc7be3f3e4af9eb58d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a91421469bced24dc7be3f3e4af9eb58d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d5ca8c923a09e830568dd61bee90f28"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d5ca8c923a09e830568dd61bee90f28"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a6d5ca8c923a09e830568dd61bee90f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1c94669bd9318211163aed7f3e1e264d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c94669bd9318211163aed7f3e1e264d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>SliceID</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer) const </td></tr>
+<tr class="separator:a1c94669bd9318211163aed7f3e1e264d"><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:aa48fa6c974cd4e6a89fe820f598aeca1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa48fa6c974cd4e6a89fe820f598aeca1"></a>
+vector&lt; <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>datavec_</b></td></tr>
+<tr class="separator:aa48fa6c974cd4e6a89fe820f598aeca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaddec74b852844fd0db0f5abc9bb289e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaddec74b852844fd0db0f5abc9bb289e"></a>
+vector&lt; <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>gradvec_</b></td></tr>
+<tr class="separator:aaddec74b852844fd0db0f5abc9bb289e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>Slice this layer into multiple dst layers on one dimension. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a635401ab1990f4dd97bf936cc6c61e71"></a>
+<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="classBlob.html">Blob</a>&lt;float&gt;&amp; singa::SliceLayer::data </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>a const ref for <a class="el" href="classBlob.html">Blob</a> storing neuron values of this layer for BP </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4022c8722eb9b77d8b774c8987c4cf7e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classBlob.html">Blob</a>&lt;float&gt;* singa::SliceLayer::mutable_grad </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>a pointer to storing neuron grads of this layer for BP </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a965d30f2b8ddb853b661671f73d7e8ea"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SliceLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adf443fffadbdb5671e7982028689bbca"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SliceLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SliceLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SliceLayer.png b/api/classsinga_1_1SliceLayer.png
new file mode 100644
index 0000000..5d0dfd8
Binary files /dev/null and b/api/classsinga_1_1SliceLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Socket-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Socket-members.html b/api/classsinga_1_1Socket-members.html
new file mode 100644
index 0000000..8a0c94d
--- /dev/null
+++ b/api/classsinga_1_1Socket-members.html
@@ -0,0 +1,112 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Socket.html">Socket</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Socket Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Socket.html#a021de3273ade2a1f3b447e04888a0701">InternalID</a>() const =0</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_id_</b> (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Socket.html#a66dec7b6c67f6dd1407f2ce53d4eb5cb">Receive</a>()=0</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7">Send</a>(Msg *msg)=0</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Socket</b>() (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Socket</b>() (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</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 Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Socket.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Socket.html b/api/classsinga_1_1Socket.html
new file mode 100644
index 0000000..c6fb347
--- /dev/null
+++ b/api/classsinga_1_1Socket.html
@@ -0,0 +1,229 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Socket 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Socket.html">Socket</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_1Socket-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Socket 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::Socket:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Socket.png" usemap="#singa::Socket_map" alt=""/>
+  <map id="singa::Socket_map" name="singa::Socket_map">
+<area href="classsinga_1_1Dealer.html" alt="singa::Dealer" shape="rect" coords="0,56,86,80"/>
+<area href="classsinga_1_1Router.html" alt="singa::Router" shape="rect" coords="96,56,182,80"/>
+</map>
+ </div></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:ad4b5d8cbf20ecc3209139a35d9b6f2e7"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7">Send</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> *msg)=0</td></tr>
+<tr class="memdesc:ad4b5d8cbf20ecc3209139a35d9b6f2e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a message to connected socket(s), non-blocking.  <a href="#ad4b5d8cbf20ecc3209139a35d9b6f2e7">More...</a><br/></td></tr>
+<tr class="separator:ad4b5d8cbf20ecc3209139a35d9b6f2e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66dec7b6c67f6dd1407f2ce53d4eb5cb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Socket.html#a66dec7b6c67f6dd1407f2ce53d4eb5cb">Receive</a> ()=0</td></tr>
+<tr class="memdesc:a66dec7b6c67f6dd1407f2ce53d4eb5cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message from any connected socket.  <a href="#a66dec7b6c67f6dd1407f2ce53d4eb5cb">More...</a><br/></td></tr>
+<tr class="separator:a66dec7b6c67f6dd1407f2ce53d4eb5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a021de3273ade2a1f3b447e04888a0701"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Socket.html#a021de3273ade2a1f3b447e04888a0701">InternalID</a> () const =0</td></tr>
+<tr class="separator:a021de3273ade2a1f3b447e04888a0701"><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:a548707780610342ac0788f9abf21a0c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a548707780610342ac0788f9abf21a0c5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>local_id_</b></td></tr>
+<tr class="separator:a548707780610342ac0788f9abf21a0c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a021de3273ade2a1f3b447e04888a0701"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void* singa::Socket::InternalID </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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Identifier of the implementation dependent socket. E.g., zsock_t* for ZeroMQ implementation and rank for MPI implementation. </dd></dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Router.html#acf78012cf74a12b85a318802807529c9">singa::Router</a>, and <a class="el" href="classsinga_1_1Dealer.html#a9f25d3caeb2014c27f5f2459a65b1279">singa::Dealer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a66dec7b6c67f6dd1407f2ce53d4eb5cb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a>* singa::Socket::Receive </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Receive a message from any connected socket. </p>
+<dl class="section return"><dt>Returns</dt><dd>a message pointer if success; nullptr if failure </dd></dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Router.html#af37c2f449e99e1b35042a39ef9fb2389">singa::Router</a>, and <a class="el" href="classsinga_1_1Dealer.html#ae696a75b0ee56234d68af0b1d5104797">singa::Dealer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4b5d8cbf20ecc3209139a35d9b6f2e7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::Socket::Send </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Send a message to connected socket(s), non-blocking. </p>
+<p>The message will be deallocated after sending, thus should not be used after calling <a class="el" href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7" title="Send a message to connected socket(s), non-blocking. ">Send()</a>; </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">the</td><td>message to be sent </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 for success queuing the message for sending, 0 for failure </dd></dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Router.html#a4186013f846e404bec26eca4145d8d09">singa::Router</a>, and <a class="el" href="classsinga_1_1Dealer.html#a558c7ea2f5facda55b73bdde8a147c9b">singa::Dealer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="socket_8h_source.html">socket.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Socket.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Socket.png b/api/classsinga_1_1Socket.png
new file mode 100644
index 0000000..a5317e4
Binary files /dev/null and b/api/classsinga_1_1Socket.png differ



[09/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4-members.html
new file mode 100644
index 0000000..efb7ddd
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">Get< 1 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 1 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">std::tr1::gtest_internal::Get&lt; 1 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(1, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">std::tr1::gtest_internal::Get&lt; 1 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">std::tr1::gtest_internal::Get&lt; 1 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(1, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">std::tr1::gtest_internal::Get&lt; 1 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">std::tr1::gtest_internal::Get&lt; 1 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html
new file mode 100644
index 0000000..08726ec
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 1 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4.html">Get< 1 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_011_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 1 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a52b2f5d2bc283d76a3e8dede84dba154"><td class="memTemplParams" colspan="2"><a class="anchor" id="a52b2f5d2bc283d76a3e8dede84dba154"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a52b2f5d2bc283d76a3e8dede84dba154"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(1, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:a52b2f5d2bc283d76a3e8dede84dba154"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a481a2bf839c758408d46a1d0d41ff8f4"><td class="memTemplParams" colspan="2"><a class="anchor" id="a481a2bf839c758408d46a1d0d41ff8f4"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a481a2bf839c758408d46a1d0d41ff8f4"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(1, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:a481a2bf839c758408d46a1d0d41ff8f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4-members.html
new file mode 100644
index 0000000..9298f33
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">Get< 2 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 2 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">std::tr1::gtest_internal::Get&lt; 2 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(2, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">std::tr1::gtest_internal::Get&lt; 2 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">std::tr1::gtest_internal::Get&lt; 2 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(2, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">std::tr1::gtest_internal::Get&lt; 2 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">std::tr1::gtest_internal::Get&lt; 2 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html
new file mode 100644
index 0000000..29d35c9
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 2 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4.html">Get< 2 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_012_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 2 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a8dfe7b5c1c915f10181e3fb5952ba6d8"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8dfe7b5c1c915f10181e3fb5952ba6d8"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a8dfe7b5c1c915f10181e3fb5952ba6d8"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(2, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:a8dfe7b5c1c915f10181e3fb5952ba6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76127c9c03c1f0caa61fb87d4d756b5b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a76127c9c03c1f0caa61fb87d4d756b5b"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a76127c9c03c1f0caa61fb87d4d756b5b"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(2, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:a76127c9c03c1f0caa61fb87d4d756b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4-members.html
new file mode 100644
index 0000000..8ee6a18
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">Get< 3 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 3 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">std::tr1::gtest_internal::Get&lt; 3 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(3, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">std::tr1::gtest_internal::Get&lt; 3 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">std::tr1::gtest_internal::Get&lt; 3 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(3, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">std::tr1::gtest_internal::Get&lt; 3 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">std::tr1::gtest_internal::Get&lt; 3 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html
new file mode 100644
index 0000000..73464d1
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 3 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4.html">Get< 3 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_013_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 3 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aa2ebd71eca812f06bad0773a7e2f6788"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa2ebd71eca812f06bad0773a7e2f6788"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:aa2ebd71eca812f06bad0773a7e2f6788"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(3, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:aa2ebd71eca812f06bad0773a7e2f6788"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8c5283e6776308abc41aaad518a23c7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab8c5283e6776308abc41aaad518a23c7"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:ab8c5283e6776308abc41aaad518a23c7"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(3, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:ab8c5283e6776308abc41aaad518a23c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4-members.html
new file mode 100644
index 0000000..6305ef4
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">Get< 4 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 4 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">std::tr1::gtest_internal::Get&lt; 4 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(4, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">std::tr1::gtest_internal::Get&lt; 4 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">std::tr1::gtest_internal::Get&lt; 4 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(4, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">std::tr1::gtest_internal::Get&lt; 4 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">std::tr1::gtest_internal::Get&lt; 4 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html
new file mode 100644
index 0000000..ceae60b
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 4 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4.html">Get< 4 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_014_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 4 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a5c7a91c681118bb7253e305f8ff42be4"><td class="memTemplParams" colspan="2"><a class="anchor" id="a5c7a91c681118bb7253e305f8ff42be4"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a5c7a91c681118bb7253e305f8ff42be4"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(4, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:a5c7a91c681118bb7253e305f8ff42be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04794c398bbe81e4de0915b79da2166a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a04794c398bbe81e4de0915b79da2166a"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a04794c398bbe81e4de0915b79da2166a"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(4, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:a04794c398bbe81e4de0915b79da2166a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4-members.html
new file mode 100644
index 0000000..3bcb6dd
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">Get< 5 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 5 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">std::tr1::gtest_internal::Get&lt; 5 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(5, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">std::tr1::gtest_internal::Get&lt; 5 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">std::tr1::gtest_internal::Get&lt; 5 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(5, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">std::tr1::gtest_internal::Get&lt; 5 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">std::tr1::gtest_internal::Get&lt; 5 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html
new file mode 100644
index 0000000..18f1c80
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 5 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4.html">Get< 5 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_015_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 5 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a0a337088bab3f824f67d1607229fdcc2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a0a337088bab3f824f67d1607229fdcc2"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a0a337088bab3f824f67d1607229fdcc2"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(5, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:a0a337088bab3f824f67d1607229fdcc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae10fe16450db82d69b9a4d0b149ca75d"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae10fe16450db82d69b9a4d0b149ca75d"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:ae10fe16450db82d69b9a4d0b149ca75d"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(5, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:ae10fe16450db82d69b9a4d0b149ca75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4-members.html
new file mode 100644
index 0000000..91037fe
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">Get< 6 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 6 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">std::tr1::gtest_internal::Get&lt; 6 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(6, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">std::tr1::gtest_internal::Get&lt; 6 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">std::tr1::gtest_internal::Get&lt; 6 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(6, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">std::tr1::gtest_internal::Get&lt; 6 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_016_01_4.html">std::tr1::gtest_internal::Get&lt; 6 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[43/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1Random.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1Random.html b/api/classmshadow_1_1Random.html
new file mode 100644
index 0000000..6bb1db8
--- /dev/null
+++ b/api/classmshadow_1_1Random.html
@@ -0,0 +1,122 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::Random&lt; Device &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="classmshadow_1_1Random.html">Random</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::Random&lt; Device &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>random number generator  
+ <a href="classmshadow_1_1Random.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__random_8h_source.html">tensor_random.h</a>&gt;</code></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename Device&gt;<br/>
+class mshadow::Random&lt; Device &gt;</h3>
+
+<p>random number generator </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">Device</td><td>the device of random number generator </td></tr>
+  </table>
+  </dd>
+</dl>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__random_8h_source.html">tensor_random.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1Random_3_01cpu_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1Random_3_01cpu_01_4-members.html b/api/classmshadow_1_1Random_3_01cpu_01_4-members.html
new file mode 100644
index 0000000..253f6e7
--- /dev/null
+++ b/api/classmshadow_1_1Random_3_01cpu_01_4-members.html
@@ -0,0 +1,113 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">Random< cpu ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::Random&lt; cpu &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a02bda6de5df10888ebb1c7a4ce74752b">gaussian</a>(Shape&lt; dim &gt; shape)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#ae204dc77cce8f5d0c2324b03ffb3123f">Random</a>(int seed)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a8a5c2112a40b530f20f86059a8a95497">SampleGaussian</a>(Tensor&lt; cpu, dim &gt; &amp;dst, real_t mu=0.0f, real_t sigma=1.0f)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a620ced34b2332ce1ce7edb3efad520ba">SampleUniform</a>(Tensor&lt; cpu, dim &gt; &amp;dst, real_t a=0.0f, real_t b=1.0f)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a2c423bd57a74322830b241e99825c22b">Seed</a>(int seed)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#ac29cd89c4a4413aaaa76a0bb75ea7300">uniform</a>(Shape&lt; dim &gt; shape)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Random</b>() (defined in <a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">mshadow::Random&lt; cpu &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1Random_3_01cpu_01_4.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1Random_3_01cpu_01_4.html b/api/classmshadow_1_1Random_3_01cpu_01_4.html
new file mode 100644
index 0000000..b9928db
--- /dev/null
+++ b/api/classmshadow_1_1Random_3_01cpu_01_4.html
@@ -0,0 +1,409 @@
+<!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.6"/>
+<title>Apache SINGA: mshadow::Random&lt; cpu &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html">Random< cpu ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classmshadow_1_1Random_3_01cpu_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">mshadow::Random&lt; cpu &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>CPU random number generator.  
+ <a href="classmshadow_1_1Random_3_01cpu_01_4.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tensor__random_8h_source.html">tensor_random.h</a>&gt;</code></p>
+<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:ae204dc77cce8f5d0c2324b03ffb3123f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#ae204dc77cce8f5d0c2324b03ffb3123f">Random</a> (int seed)</td></tr>
+<tr class="memdesc:ae204dc77cce8f5d0c2324b03ffb3123f"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor of random engine  <a href="#ae204dc77cce8f5d0c2324b03ffb3123f">More...</a><br/></td></tr>
+<tr class="separator:ae204dc77cce8f5d0c2324b03ffb3123f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c423bd57a74322830b241e99825c22b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a2c423bd57a74322830b241e99825c22b">Seed</a> (int seed)</td></tr>
+<tr class="memdesc:a2c423bd57a74322830b241e99825c22b"><td class="mdescLeft">&#160;</td><td class="mdescRight">seed random number generator using this seed  <a href="#a2c423bd57a74322830b241e99825c22b">More...</a><br/></td></tr>
+<tr class="separator:a2c423bd57a74322830b241e99825c22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a620ced34b2332ce1ce7edb3efad520ba"><td class="memTemplParams" colspan="2">template&lt;int dim&gt; </td></tr>
+<tr class="memitem:a620ced34b2332ce1ce7edb3efad520ba"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a620ced34b2332ce1ce7edb3efad520ba">SampleUniform</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim &gt; &amp;dst, <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> a=0.0f, real_t b=1.0f)</td></tr>
+<tr class="memdesc:a620ced34b2332ce1ce7edb3efad520ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate data from uniform [a,b)  <a href="#a620ced34b2332ce1ce7edb3efad520ba">More...</a><br/></td></tr>
+<tr class="separator:a620ced34b2332ce1ce7edb3efad520ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a5c2112a40b530f20f86059a8a95497"><td class="memTemplParams" colspan="2">template&lt;int dim&gt; </td></tr>
+<tr class="memitem:a8a5c2112a40b530f20f86059a8a95497"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a8a5c2112a40b530f20f86059a8a95497">SampleGaussian</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim &gt; &amp;dst, <a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a> mu=0.0f, real_t sigma=1.0f)</td></tr>
+<tr class="memdesc:a8a5c2112a40b530f20f86059a8a95497"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate data from standard gaussian  <a href="#a8a5c2112a40b530f20f86059a8a95497">More...</a><br/></td></tr>
+<tr class="separator:a8a5c2112a40b530f20f86059a8a95497"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02bda6de5df10888ebb1c7a4ce74752b"><td class="memTemplParams" colspan="2">template&lt;int dim&gt; </td></tr>
+<tr class="memitem:a02bda6de5df10888ebb1c7a4ce74752b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1expr_1_1ReshapeExp.html">expr::ReshapeExp</a>&lt; <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1 &gt;<br class="typebreak"/>
+, dim, 1 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#a02bda6de5df10888ebb1c7a4ce74752b">gaussian</a> (<a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dim &gt; shape)</td></tr>
+<tr class="memdesc:a02bda6de5df10888ebb1c7a4ce74752b"><td class="mdescLeft">&#160;</td><td class="mdescRight">return a temporal expression storing standard gaussian random variables the temporal tensor is only valid before next call of gaussian or uniform can be used as part of expression Caution: this means expression such as A = gaussian(s1) * gaussian(s2) will give invalid result, since second call of gaussian(s2) makes gaussian(s1) invalid A = gaussian(s1)*B+C; is correct; use one gaussian/uniform in each expression  <a href="#a02bda6de5df10888ebb1c7a4ce74752b">More...</a><br/></td></tr>
+<tr class="separator:a02bda6de5df10888ebb1c7a4ce74752b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac29cd89c4a4413aaaa76a0bb75ea7300"><td class="memTemplParams" colspan="2">template&lt;int dim&gt; </td></tr>
+<tr class="memitem:ac29cd89c4a4413aaaa76a0bb75ea7300"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1expr_1_1ReshapeExp.html">expr::ReshapeExp</a>&lt; <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1 &gt;<br class="typebreak"/>
+, dim, 1 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_01_4.html#ac29cd89c4a4413aaaa76a0bb75ea7300">uniform</a> (<a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dim &gt; shape)</td></tr>
+<tr class="memdesc:ac29cd89c4a4413aaaa76a0bb75ea7300"><td class="mdescLeft">&#160;</td><td class="mdescRight">return a temporal expression storing standard uniform [0,1) the temporal tensor is only valid before next call of gaussian or uniform can be used as part of expression Caution: this means expression such as A = gaussian(s1) * gaussian(s2) will give invalid result, since second call of gaussian(s2) makes gaussian(s1) invalid A = gaussian(s1)*B+C; is correct; use one gaussian/uniform in each expression  <a href="#ac29cd89c4a4413aaaa76a0bb75ea7300">More...</a><br/></td></tr>
+<tr class="separator:ac29cd89c4a4413aaaa76a0bb75ea7300"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;&gt;<br/>
+class mshadow::Random&lt; cpu &gt;</h3>
+
+<p>CPU random number generator. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae204dc77cce8f5d0c2324b03ffb3123f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmshadow_1_1Random.html">mshadow::Random</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt;::<a class="el" href="classmshadow_1_1Random.html">Random</a> </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>seed</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>constructor of random engine </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">seed</td><td>random number seed </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a02bda6de5df10888ebb1c7a4ce74752b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;int dim&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="structmshadow_1_1expr_1_1ReshapeExp.html">expr::ReshapeExp</a>&lt;<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt;<a class="el" href="structmshadow_1_1cpu.html">cpu</a>,1&gt;,dim,1&gt; <a class="el" href="classmshadow_1_1Random.html">mshadow::Random</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt;::gaussian </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dim &gt;&#160;</td>
+          <td class="paramname"><em>shape</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>return a temporal expression storing standard gaussian random variables the temporal tensor is only valid before next call of gaussian or uniform can be used as part of expression Caution: this means expression such as A = gaussian(s1) * gaussian(s2) will give invalid result, since second call of gaussian(s2) makes gaussian(s1) invalid A = gaussian(s1)*B+C; is correct; use one gaussian/uniform in each expression </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">shape</td><td>shape of the tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8a5c2112a40b530f20f86059a8a95497"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;int dim&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1Random.html">mshadow::Random</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt;::SampleGaussian </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim &gt; &amp;&#160;</td>
+          <td class="paramname"><em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td>
+          <td class="paramname"><em>mu</em> = <code>0.0f</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td>
+          <td class="paramname"><em>sigma</em> = <code>1.0f</code>&#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>generate data from standard gaussian </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dst</td><td>destination </td></tr>
+    <tr><td class="paramname">mu</td><td>mean variable </td></tr>
+    <tr><td class="paramname">sigma</td><td>standard deviation </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a620ced34b2332ce1ce7edb3efad520ba"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;int dim&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1Random.html">mshadow::Random</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt;::SampleUniform </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim &gt; &amp;&#160;</td>
+          <td class="paramname"><em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td>
+          <td class="paramname"><em>a</em> = <code>0.0f</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacemshadow.html#a6b8da350a039195525801b23b3a2d942">real_t</a>&#160;</td>
+          <td class="paramname"><em>b</em> = <code>1.0f</code>&#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>generate data from uniform [a,b) </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dst</td><td>destination </td></tr>
+    <tr><td class="paramname">a</td><td>lower bound of uniform </td></tr>
+    <tr><td class="paramname">b</td><td>upper bound of uniform </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a2c423bd57a74322830b241e99825c22b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmshadow_1_1Random.html">mshadow::Random</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt;::Seed </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>seed</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>seed random number generator using this seed </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">seed</td><td>seed of prng </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac29cd89c4a4413aaaa76a0bb75ea7300"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;int dim&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="structmshadow_1_1expr_1_1ReshapeExp.html">expr::ReshapeExp</a>&lt;<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt;<a class="el" href="structmshadow_1_1cpu.html">cpu</a>,1&gt;,dim,1&gt; <a class="el" href="classmshadow_1_1Random.html">mshadow::Random</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt;::uniform </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dim &gt;&#160;</td>
+          <td class="paramname"><em>shape</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>return a temporal expression storing standard uniform [0,1) the temporal tensor is only valid before next call of gaussian or uniform can be used as part of expression Caution: this means expression such as A = gaussian(s1) * gaussian(s2) will give invalid result, since second call of gaussian(s2) makes gaussian(s1) invalid A = gaussian(s1)*B+C; is correct; use one gaussian/uniform in each expression </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">shape</td><td>shape of the tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/mshadow/<a class="el" href="tensor__random_8h_source.html">tensor_random.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classmshadow_1_1TensorContainer-members.html
----------------------------------------------------------------------
diff --git a/api/classmshadow_1_1TensorContainer-members.html b/api/classmshadow_1_1TensorContainer-members.html
new file mode 100644
index 0000000..57e1f1f
--- /dev/null
+++ b/api/classmshadow_1_1TensorContainer-members.html
@@ -0,0 +1,142 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespacemshadow.html">mshadow</a></li><li class="navelem"><a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mshadow::TensorContainer&lt; Device, dimension &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a53d478283da3417948e746accf1d8555">__assign</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a7eec40f8e9b738edd1a0e0cbf9e014f6">__assign</a>(const Exp&lt; E, type::kMapper &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#afdc7321b785a3e6de4194b01aa9c5cea">__assign</a>(const Exp&lt; E, type::kComplex &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a840ba21e8bf241129131bb5c0485af3a">dptr</a></td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a870d85c5e46c364947355e9d292445c6">FlatTo2D</a>(void) const </td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a459cc12b940e03a8a69de4d50aa50000">kDevCPU</a></td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a107c989c23feed70dbc8bad458afb997">kSubdim</a></td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#ae25ffd09c48839fc8ee4e543e6bdb7c9">LoadBinary</a>(TStream &amp;fi)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a4ec36f15d3b4edc378e0a844279d655e">operator*=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a8343d4e5a52b14087d21189c8ba35a24">operator*=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad7d2c08f20025070f26be3bed805c663">operator+=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a040bcc96db9b3be9e105d885ba953d29">operator+=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a14bc7b305bf599ffaf026bbd9cb801fa">operator-=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ad473a71ec6e568841238c2c425db8dee">operator-=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a86b9bc074af6129dff6cb16ae0d9d592">operator/=</a>(real_t s)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#a025569b463343ed328506bd810ab0d1c">operator/=</a>(const Exp&lt; E, etype &gt; &amp;exp)</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(real_t s) (defined in <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const expr::Exp&lt; E, expr::type::kMapper &gt; &amp;exp) (defined in <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const expr::Exp&lt; E, expr::type::kComplex &gt; &amp;exp) (defined in <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a47376c7fe0a51811c283391fcc6da01a">operator[]</a>(index_t idx) const </td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#a0d71c1687e44ddc89b7f20f7de6a1ed0">refself</a>(void)</td><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; Tensor&lt; Device, dimension &gt;, type::kContainer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#aa3bfb6e4930738dcbe0613dc6946250f">Resize</a>(const Shape&lt; dimension &gt; &amp;shape)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#a2d25a8ba514bbad3ec9f5752689019ed">Resize</a>(const Shape&lt; dimension &gt; &amp;shape, real_t initv)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#a8c05e3aa4c2f1a91e11edb445b7e735c">SaveBinary</a>(TStream &amp;fo) const </td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html#ae27ea4b1b18941a009902765c281addb">self</a>(void) const</td><td class="entry"><a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; Tensor&lt; Device, dimension &gt;, type::kContainer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#a1ee87817af96fcf5ab2be9641b9e27d4">set_pad</a>(bool pad)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#ab59c7017903020550cd78432b9b2b958">shape</a></td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a1a214801ac6228af5cedaad3fc5aedce">Slice</a>(index_t begin, index_t end) const </td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html#ac2d93b25bdef03c232b2fb9556fecd25">T</a>(void) const</td><td class="entry"><a class="el" href="classmshadow_1_1expr_1_1ContainerExp.html">mshadow::expr::ContainerExp&lt; Tensor&lt; Device, dimension &gt; &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a844ed0041a63ccf071966a0821db0d70">Tensor</a>(void)</td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#aa3043be4b978df444929fd37820b7b25">Tensor</a>(const Shape&lt; dimension &gt; &amp;shape)</td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html#a7ac79280829ec3a6f1aad4fd6044fe82">Tensor</a>(real_t *dptr, const Shape&lt; dimension &gt; &amp;shape)</td><td class="entry"><a class="el" href="structmshadow_1_1Tensor.html">mshadow::Tensor&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#a4a7db08cd85aa4b66695f0fcda6204b8">TensorContainer</a>(bool pad=MSHADOW_ALLOC_PAD)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#aeec4feeefba6821209cea5be1eeef72b">TensorContainer</a>(const Shape&lt; dimension &gt; &amp;shape)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html#a374c03b1085998f41aecda021af43220">TensorContainer</a>(const Shape&lt; dimension &gt; &amp;shape, real_t initv)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~TensorContainer</b>(void) (defined in <a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a>)</td><td class="entry"><a class="el" href="classmshadow_1_1TensorContainer.html">mshadow::TensorContainer&lt; Device, dimension &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:38 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[22/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1NeuralNet.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1NeuralNet.html b/api/classsinga_1_1NeuralNet.html
new file mode 100644
index 0000000..b62bd10
--- /dev/null
+++ b/api/classsinga_1_1NeuralNet.html
@@ -0,0 +1,357 @@
+<!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.6"/>
+<title>Apache SINGA: singa::NeuralNet 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1NeuralNet-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::NeuralNet Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The neural network is constructed from user configured layers through google protocol buffer.  
+ <a href="classsinga_1_1NeuralNet.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="neuralnet_8h_source.html">neuralnet.h</a>&gt;</code></p>
+<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:ae5c47bb34897f5029d4b82e96f50081a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5c47bb34897f5029d4b82e96f50081a"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#ae5c47bb34897f5029d4b82e96f50081a">NeuralNet</a> (NetProto net_proto, int group_size=1)</td></tr>
+<tr class="memdesc:ae5c47bb34897f5029d4b82e96f50081a"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct the net structure from protocol buffer. <br/></td></tr>
+<tr class="separator:ae5c47bb34897f5029d4b82e96f50081a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a947cdee455cd4c29403459aeb7e48f47"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#a947cdee455cd4c29403459aeb7e48f47">ToString</a> ()</td></tr>
+<tr class="memdesc:a947cdee455cd4c29403459aeb7e48f47"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a json string representing the neuralnet graph.  <a href="#a947cdee455cd4c29403459aeb7e48f47">More...</a><br/></td></tr>
+<tr class="separator:a947cdee455cd4c29403459aeb7e48f47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a012046b1543c8c24209e6ccefe4603f9"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#a012046b1543c8c24209e6ccefe4603f9">DebugInfo</a> ()</td></tr>
+<tr class="memdesc:a012046b1543c8c24209e6ccefe4603f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print Norm1 of data and grad of each <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a> and parameter.  <a href="#a012046b1543c8c24209e6ccefe4603f9">More...</a><br/></td></tr>
+<tr class="separator:a012046b1543c8c24209e6ccefe4603f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac59d09a7129befe7eb4206d22075eb11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac59d09a7129befe7eb4206d22075eb11"></a>
+std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#ac59d09a7129befe7eb4206d22075eb11">ToAdjacency</a> ()</td></tr>
+<tr class="memdesc:ac59d09a7129befe7eb4206d22075eb11"><td class="mdescLeft">&#160;</td><td class="mdescRight">to display the adjacency layers <br/></td></tr>
+<tr class="separator:ac59d09a7129befe7eb4206d22075eb11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83bf4d104eb009b22e559282d92dc4d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83bf4d104eb009b22e559282d92dc4d3"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#a83bf4d104eb009b22e559282d92dc4d3">AddLayer</a> (const LayerProto &amp;layer_proto)</td></tr>
+<tr class="memdesc:a83bf4d104eb009b22e559282d92dc4d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add layer explicitly used in manually programming/constructing neural net. <br/></td></tr>
+<tr class="separator:a83bf4d104eb009b22e559282d92dc4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae548e6daf3f7ae01e2beb9a7f5bc6f03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae548e6daf3f7ae01e2beb9a7f5bc6f03"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#ae548e6daf3f7ae01e2beb9a7f5bc6f03">AddLayer</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer)</td></tr>
+<tr class="memdesc:ae548e6daf3f7ae01e2beb9a7f5bc6f03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add layer explicitly used in manually programming/constructing neural net. <br/></td></tr>
+<tr class="separator:ae548e6daf3f7ae01e2beb9a7f5bc6f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac135472b2cec6cebb0be27a558d671b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac135472b2cec6cebb0be27a558d671b6"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#ac135472b2cec6cebb0be27a558d671b6">ShareParams</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; other, int flag)</td></tr>
+<tr class="memdesc:ac135472b2cec6cebb0be27a558d671b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">share weights from other neuralnet <br/></td></tr>
+<tr class="separator:ac135472b2cec6cebb0be27a558d671b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefb74385ed5cc8a65f56f314deaa8a1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefb74385ed5cc8a65f56f314deaa8a1c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ToProto</b> (NetProto *net_proto, bool copyData=false)</td></tr>
+<tr class="separator:aefb74385ed5cc8a65f56f314deaa8a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3b951c63d520e2e749c89b4fe1b47b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3b951c63d520e2e749c89b4fe1b47b4"></a>
+const std::vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>layers</b> ()</td></tr>
+<tr class="separator:ad3b951c63d520e2e749c89b4fe1b47b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8955f91a3f9ed9557d885c594445d49"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8955f91a3f9ed9557d885c594445d49"></a>
+const std::vector&lt; <a class="el" href="classsinga_1_1ParserLayer.html">ParserLayer</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#ad8955f91a3f9ed9557d885c594445d49">parserlayers</a> ()</td></tr>
+<tr class="memdesc:ad8955f91a3f9ed9557d885c594445d49"><td class="mdescLeft">&#160;</td><td class="mdescRight">return <a class="el" href="classsinga_1_1ParserLayer.html" title="parse the input records into Blobs. ">ParserLayer</a> of the neuralnet. <br/></td></tr>
+<tr class="separator:ad8955f91a3f9ed9557d885c594445d49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce12f03001db3a02c5e136736cf150a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afce12f03001db3a02c5e136736cf150a"></a>
+const std::vector&lt; <a class="el" href="classsinga_1_1LossLayer.html">LossLayer</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>losslayers</b> ()</td></tr>
+<tr class="separator:afce12f03001db3a02c5e136736cf150a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3638e916992bd414d9ded932962bddb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3638e916992bd414d9ded932962bddb7"></a>
+const std::vector&lt; <a class="el" href="classsinga_1_1DataLayer.html">DataLayer</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>datalayers</b> ()</td></tr>
+<tr class="separator:a3638e916992bd414d9ded932962bddb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5559e533d59d0e8734e363e949bfcaf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5559e533d59d0e8734e363e949bfcaf3"></a>
+const std::vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>params</b> () const </td></tr>
+<tr class="separator:a5559e533d59d0e8734e363e949bfcaf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3fd6c037c2c4e9e099c4cc4d87ec2e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3fd6c037c2c4e9e099c4cc4d87ec2e3"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>name2layer</b> (string name)</td></tr>
+<tr class="separator:ab3fd6c037c2c4e9e099c4cc4d87ec2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa42ba8a7fdfb9071048f8bd62c7ab4db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa42ba8a7fdfb9071048f8bd62c7ab4db"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>paramid2param</b> (int id)</td></tr>
+<tr class="separator:aa42ba8a7fdfb9071048f8bd62c7ab4db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a5dd6ab4cd78c3f1562b82fbff4644b6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5dd6ab4cd78c3f1562b82fbff4644b6c"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#a5dd6ab4cd78c3f1562b82fbff4644b6c">RegisterLayers</a> ()</td></tr>
+<tr class="memdesc:a5dd6ab4cd78c3f1562b82fbff4644b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register Layers. <br/></td></tr>
+<tr class="separator:a5dd6ab4cd78c3f1562b82fbff4644b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40c2bb568e630d04b4106f37f61f58e7"><td class="memItemLeft" align="right" valign="top">static shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#a40c2bb568e630d04b4106f37f61f58e7">SetupNeuralNet</a> (const NetProto &amp;np, Phase phase)</td></tr>
+<tr class="memdesc:a40c2bb568e630d04b4106f37f61f58e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the neural network for training, test or validation.  <a href="#a40c2bb568e630d04b4106f37f61f58e7">More...</a><br/></td></tr>
+<tr class="separator:a40c2bb568e630d04b4106f37f61f58e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a90ee7190372b8c7187d6665d1c067a4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90ee7190372b8c7187d6665d1c067a4f"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ConstructNeuralNet</b> (const NetProto &amp;net_proto)</td></tr>
+<tr class="separator:a90ee7190372b8c7187d6665d1c067a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2214d7af752549f346029c496202edea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2214d7af752549f346029c496202edea"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>PartitionNeuralNet</b> ()</td></tr>
+<tr class="separator:a2214d7af752549f346029c496202edea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4238f961a3a3e1dfaa024910150ca39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4238f961a3a3e1dfaa024910150ca39"></a>
+map&lt; string, shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>GetNameToLayer</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;layers)</td></tr>
+<tr class="separator:ab4238f961a3a3e1dfaa024910150ca39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6806741dfd2f6dffdea17fc66b43760"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6806741dfd2f6dffdea17fc66b43760"></a>
+<a class="el" href="classGraph.html">Graph</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CreatePartitonedGraph</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;layers, const map&lt; string, shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;name2layer)</td></tr>
+<tr class="separator:ac6806741dfd2f6dffdea17fc66b43760"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a207c0744182a802925c41355ef0f2f"><td class="memItemLeft" align="right" valign="top">map&lt; string, vector<br class="typebreak"/>
+&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1NeuralNet.html#a0a207c0744182a802925c41355ef0f2f">PartitionLayers</a> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;layers)</td></tr>
+<tr class="memdesc:a0a207c0744182a802925c41355ef0f2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partition each layer according its partition type and dimension.  <a href="#a0a207c0744182a802925c41355ef0f2f">More...</a><br/></td></tr>
+<tr class="separator:a0a207c0744182a802925c41355ef0f2f"><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:a87389f5e484e4b8d853bdac66f38494a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87389f5e484e4b8d853bdac66f38494a"></a>
+vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layers_</b></td></tr>
+<tr class="separator:a87389f5e484e4b8d853bdac66f38494a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a083fb0d7e4d40cd1dc8467880a57e791"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a083fb0d7e4d40cd1dc8467880a57e791"></a>
+vector&lt; <a class="el" href="classsinga_1_1ParserLayer.html">ParserLayer</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>parserlayers_</b></td></tr>
+<tr class="separator:a083fb0d7e4d40cd1dc8467880a57e791"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab57fc41ddc64d62e6fd9bd1eff0b04c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab57fc41ddc64d62e6fd9bd1eff0b04c2"></a>
+vector&lt; <a class="el" href="classsinga_1_1LossLayer.html">LossLayer</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>losslayers_</b></td></tr>
+<tr class="separator:ab57fc41ddc64d62e6fd9bd1eff0b04c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a576d9c03b8c9d854c6c670d49f629d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a576d9c03b8c9d854c6c670d49f629d"></a>
+vector&lt; <a class="el" href="classsinga_1_1DataLayer.html">DataLayer</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>datalayers_</b></td></tr>
+<tr class="separator:a4a576d9c03b8c9d854c6c670d49f629d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a2207f3586e0559aee5d8c76a7e1281"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a2207f3586e0559aee5d8c76a7e1281"></a>
+vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>params_</b></td></tr>
+<tr class="separator:a5a2207f3586e0559aee5d8c76a7e1281"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa991c1f8eeee6f87e4d7338bfe1a68ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa991c1f8eeee6f87e4d7338bfe1a68ff"></a>
+map&lt; string, shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>name2layer_</b></td></tr>
+<tr class="separator:aa991c1f8eeee6f87e4d7338bfe1a68ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0813743d163d6cb6737c39ff4ad4e7dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0813743d163d6cb6737c39ff4ad4e7dc"></a>
+map&lt; int, shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>paramid2param_</b></td></tr>
+<tr class="separator:a0813743d163d6cb6737c39ff4ad4e7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e81a377402bdc1a7a9b4cde678bb413"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e81a377402bdc1a7a9b4cde678bb413"></a>
+map&lt; string, LayerProto &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>name2layerproto_</b></td></tr>
+<tr class="separator:a8e81a377402bdc1a7a9b4cde678bb413"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67146adc1622e08f1b8e12764848cb2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67146adc1622e08f1b8e12764848cb2f"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_size_</b></td></tr>
+<tr class="separator:a67146adc1622e08f1b8e12764848cb2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45bb3b83766152d0d9ce6dc6e6a6dd43"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45bb3b83766152d0d9ce6dc6e6a6dd43"></a>
+<a class="el" href="classGraph.html">Graph</a>&#160;</td><td class="memItemRight" valign="bottom"><b>graph_</b></td></tr>
+<tr class="separator:a45bb3b83766152d0d9ce6dc6e6a6dd43"><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 neural network is constructed from user configured layers through google protocol buffer. </p>
+<p>TODO support constructing neural network by adding layers explicitly. E.g., users create layers and connect them manually in the code.</p>
+<p>Some layers, e.g., <a class="el" href="classsinga_1_1SplitLayer.html" title="Replciate this layer into multiple dst layers. ">SplitLayer</a> and BridgeSrcLayer/BridgeDstLayer will be added implicitly to partition the neural network. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a012046b1543c8c24209e6ccefe4603f9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">string singa::NeuralNet::DebugInfo </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Print Norm1 of data and grad of each <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a> and parameter. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">net,neural</td><td>network </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0a207c0744182a802925c41355ef0f2f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">map&lt;string, vector&lt;shared_ptr&lt;<a class="el" href="classsinga_1_1Layer.html">Layer</a>&gt; &gt; &gt; singa::NeuralNet::PartitionLayers </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;&#160;</td>
+          <td class="paramname"><em>layers</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Partition each layer according its partition type and dimension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">layers</td><td>original unpartitioned layers </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a40c2bb568e630d04b4106f37f61f58e7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static shared_ptr&lt;<a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a>&gt; singa::NeuralNet::SetupNeuralNet </td>
+          <td>(</td>
+          <td class="paramtype">const NetProto &amp;&#160;</td>
+          <td class="paramname"><em>np</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Phase&#160;</td>
+          <td class="paramname"><em>phase</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">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the neural network for training, test or validation. </p>
+<p>Parameters for test/validation net can share those from training after setup (done outside of this funcion).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">np</td><td>proto for the neural network. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a947cdee455cd4c29403459aeb7e48f47"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string singa::NeuralNet::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>construct a json string representing the neuralnet graph. </p>
+<p>The json string can be used by other graph engine to draw a figure for displaying the neuralnet structure. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="neuralnet_8h_source.html">neuralnet.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PMServer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PMServer-members.html b/api/classsinga_1_1PMServer-members.html
new file mode 100644
index 0000000..3715b07
--- /dev/null
+++ b/api/classsinga_1_1PMServer-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1PMServer.html">PMServer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::PMServer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dealer_</b> (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>group_id_</b> (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1PMServer.html#a6a10c73069a1e1495672792d43dad42c">HandleGet</a>(Msg **msg)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PMServer.html#abb72a5ae0864e41314e8f4b49e0e2304">HandlePut</a>(Msg **msg)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1PMServer.html#a5fea9e785ebb67eb4db6b214693114f3">HandleSyncRequest</a>(Msg **msg)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PMServer.html#a0dd96b16e813a82d7aa853dc8a583a82">HandleSyncResponse</a>(Msg **msg)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1PMServer.html#a8ac7bf4ff9cf29135e9a8c08e16f890a">HandleUpdate</a>(Msg **msg)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParamShard</b> typedef (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>server_id_</b> (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Setup</b>(int group_id, int server_id, shared_ptr&lt; ParamShard &gt; shard, const UpdaterProto &amp;proto) (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shard_</b> (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PMServer.html#a84fb182e77ea7a3109aabc74e17cbf69">SyncNow</a>()</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><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_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~PMServer</b>() (defined in <a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMServer.html">singa::PMServer</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PMServer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PMServer.html b/api/classsinga_1_1PMServer.html
new file mode 100644
index 0000000..ced5316
--- /dev/null
+++ b/api/classsinga_1_1PMServer.html
@@ -0,0 +1,280 @@
+<!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.6"/>
+<title>Apache SINGA: singa::PMServer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1PMServer.html">PMServer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1PMServer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::PMServer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Parameter manager at the server side.  
+ <a href="classsinga_1_1PMServer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pm__server_8h_source.html">pm_server.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad92d2621f460a2e1d222c469369dd7f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad92d2621f460a2e1d222c469369dd7f1"></a>
+typedef std::map&lt; int, <br class="typebreak"/>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ParamShard</b></td></tr>
+<tr class="separator:ad92d2621f460a2e1d222c469369dd7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:aeb90a8db3d06feb38d43136f65ae4383"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb90a8db3d06feb38d43136f65ae4383"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (int group_id, int server_id, shared_ptr&lt; ParamShard &gt; shard, const UpdaterProto &amp;proto)</td></tr>
+<tr class="separator:aeb90a8db3d06feb38d43136f65ae4383"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a10c73069a1e1495672792d43dad42c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMServer.html#a6a10c73069a1e1495672792d43dad42c">HandleGet</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="memdesc:a6a10c73069a1e1495672792d43dad42c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process GET request.  <a href="#a6a10c73069a1e1495672792d43dad42c">More...</a><br/></td></tr>
+<tr class="separator:a6a10c73069a1e1495672792d43dad42c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ac7bf4ff9cf29135e9a8c08e16f890a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMServer.html#a8ac7bf4ff9cf29135e9a8c08e16f890a">HandleUpdate</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="memdesc:a8ac7bf4ff9cf29135e9a8c08e16f890a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process Update request.  <a href="#a8ac7bf4ff9cf29135e9a8c08e16f890a">More...</a><br/></td></tr>
+<tr class="separator:a8ac7bf4ff9cf29135e9a8c08e16f890a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb72a5ae0864e41314e8f4b49e0e2304"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMServer.html#abb72a5ae0864e41314e8f4b49e0e2304">HandlePut</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="memdesc:abb72a5ae0864e41314e8f4b49e0e2304"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process PUT request.  <a href="#abb72a5ae0864e41314e8f4b49e0e2304">More...</a><br/></td></tr>
+<tr class="separator:abb72a5ae0864e41314e8f4b49e0e2304"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fea9e785ebb67eb4db6b214693114f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fea9e785ebb67eb4db6b214693114f3"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMServer.html#a5fea9e785ebb67eb4db6b214693114f3">HandleSyncRequest</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="memdesc:a5fea9e785ebb67eb4db6b214693114f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO Process SYNC request. <br/></td></tr>
+<tr class="separator:a5fea9e785ebb67eb4db6b214693114f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0dd96b16e813a82d7aa853dc8a583a82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0dd96b16e813a82d7aa853dc8a583a82"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMServer.html#a0dd96b16e813a82d7aa853dc8a583a82">HandleSyncResponse</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="memdesc:a0dd96b16e813a82d7aa853dc8a583a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO Process SYNC response. <br/></td></tr>
+<tr class="separator:a0dd96b16e813a82d7aa853dc8a583a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84fb182e77ea7a3109aabc74e17cbf69"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMServer.html#a84fb182e77ea7a3109aabc74e17cbf69">SyncNow</a> ()</td></tr>
+<tr class="memdesc:a84fb182e77ea7a3109aabc74e17cbf69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scheduler for synchronizing server groups.  <a href="#a84fb182e77ea7a3109aabc74e17cbf69">More...</a><br/></td></tr>
+<tr class="separator:a84fb182e77ea7a3109aabc74e17cbf69"><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:a0f0d677b900418700e2c9dc842f738b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f0d677b900418700e2c9dc842f738b5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_id_</b></td></tr>
+<tr class="separator:a0f0d677b900418700e2c9dc842f738b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5dc575411ae40bc39a3d4a85eb45849"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5dc575411ae40bc39a3d4a85eb45849"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>server_id_</b></td></tr>
+<tr class="separator:ac5dc575411ae40bc39a3d4a85eb45849"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44d0f5b0fbdff3fbd18df3879e10a33e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44d0f5b0fbdff3fbd18df3879e10a33e"></a>
+shared_ptr&lt; ParamShard &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>shard_</b></td></tr>
+<tr class="separator:a44d0f5b0fbdff3fbd18df3879e10a33e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a363f39726e0c81f7c56ce24d0f3b1d95"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a363f39726e0c81f7c56ce24d0f3b1d95"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dealer_</b></td></tr>
+<tr class="separator:a363f39726e0c81f7c56ce24d0f3b1d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acfb6abf73f0d8345e686cb12749806cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfb6abf73f0d8345e686cb12749806cb"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Updater.html">Updater</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>updater_</b></td></tr>
+<tr class="separator:acfb6abf73f0d8345e686cb12749806cb"><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>Parameter manager at the server side. </p>
+<p>Repsond to worker's get/put/udpate request, and periodically syncing with other servers.</p>
+<p>Normally, the <a class="el" href="classsinga_1_1PMServer.html" title="Parameter manager at the server side. ">PMServer</a> creates a response message for each request which will be sent back to the one who issued the request. However, if the request are not processed successfully, the original message will be returned. The sever does not know the returned message (response or the original message), it just sends it to the router. The router will decide to re-send the request to the server or send it to the worker. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6a10c73069a1e1495672792d43dad42c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a>* singa::PMServer::HandleGet </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classsinga_1_1Msg.html">Msg</a> **&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Process GET request. </p>
+<dl class="section return"><dt>Returns</dt><dd>the orignal message or response message </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abb72a5ae0864e41314e8f4b49e0e2304"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a>* singa::PMServer::HandlePut </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classsinga_1_1Msg.html">Msg</a> **&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Process PUT request. </p>
+<dl class="section return"><dt>Returns</dt><dd>the original message or response message. If we don't want need to acknowledge the put request, then return nullptr. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8ac7bf4ff9cf29135e9a8c08e16f890a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a>* singa::PMServer::HandleUpdate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classsinga_1_1Msg.html">Msg</a> **&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Process Update request. </p>
+<dl class="section return"><dt>Returns</dt><dd>the orignal message or response message </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a84fb182e77ea7a3109aabc74e17cbf69"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool singa::PMServer::SyncNow </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scheduler for synchronizing server groups. </p>
+<p>TODO implement the Caffe's synchronization scheduler for data parallelism </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="pm__server_8h_source.html">pm_server.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PMWorker-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PMWorker-members.html b/api/classsinga_1_1PMWorker-members.html
new file mode 100644
index 0000000..d72d4bb
--- /dev/null
+++ b/api/classsinga_1_1PMWorker-members.html
@@ -0,0 +1,120 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1PMWorker.html">PMWorker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::PMWorker Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html#aa69dece9e990b3c25315f7e9226d7e5e">Collect</a>(Msg **)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html#a0ec5f2c8c47854cb10bc1bfda527e255">Get</a>(shared_ptr&lt; Param &gt; param, int step)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Get</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>group_id_</b> (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">ParamShard</a> typedef</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html#af866eeeb80821f8ac17a6c9e99cebf1b">Put</a>(shared_ptr&lt; Param &gt; param, int step)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Put</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_id</b>(int group_id, int worker_id) (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Setup</b>(int group_id, int worker_id, shared_ptr&lt; ParamShard &gt; shard) (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shard_</b> (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html#abc856cc69b3a638fd56dfeaa429f8a4f">Sharding</a>(int param_id)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html#a31953e1006e0b19c10f5998b31e735c3">Update</a>(shared_ptr&lt; Param &gt; param, int step)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Update</b>(Msg **msg) (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>worker_id_</b> (defined in <a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1PMWorker.html">singa::PMWorker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1PMWorker.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1PMWorker.html b/api/classsinga_1_1PMWorker.html
new file mode 100644
index 0000000..3cf817b
--- /dev/null
+++ b/api/classsinga_1_1PMWorker.html
@@ -0,0 +1,216 @@
+<!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.6"/>
+<title>Apache SINGA: singa::PMWorker 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1PMWorker.html">PMWorker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1PMWorker-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::PMWorker Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Parameter manager at the worker side.  
+ <a href="classsinga_1_1PMWorker.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pm__worker_8h_source.html">pm_worker.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a2c6442319470a4f557921c7088338afc"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; int, <br class="typebreak"/>
+shared_ptr&lt; <a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">ParamShard</a></td></tr>
+<tr class="memdesc:a2c6442319470a4f557921c7088338afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Workers from the same group resident in the same process share the same ParamShard which contains ParamCounters for <a class="el" href="classsinga_1_1Param.html">Param</a> objects used/updated by these worekrs.  <a href="#a2c6442319470a4f557921c7088338afc">More...</a><br/></td></tr>
+<tr class="separator:a2c6442319470a4f557921c7088338afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a5f0141f04b1613c8b739fab0291c87da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f0141f04b1613c8b739fab0291c87da"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (int group_id, int worker_id, shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">ParamShard</a> &gt; shard)</td></tr>
+<tr class="separator:a5f0141f04b1613c8b739fab0291c87da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86e12af5c96933f53f49248a8121fa7c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86e12af5c96933f53f49248a8121fa7c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_id</b> (int group_id, int worker_id)</td></tr>
+<tr class="separator:a86e12af5c96933f53f49248a8121fa7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc856cc69b3a638fd56dfeaa429f8a4f"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMWorker.html#abc856cc69b3a638fd56dfeaa429f8a4f">Sharding</a> (int param_id)</td></tr>
+<tr class="separator:abc856cc69b3a638fd56dfeaa429f8a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ec5f2c8c47854cb10bc1bfda527e255"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ec5f2c8c47854cb10bc1bfda527e255"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMWorker.html#a0ec5f2c8c47854cb10bc1bfda527e255">Get</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="memdesc:a0ec5f2c8c47854cb10bc1bfda527e255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a request message to Get the parameter object. <br/></td></tr>
+<tr class="separator:a0ec5f2c8c47854cb10bc1bfda527e255"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac88e330eb052a919a85a77a3de1ea424"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac88e330eb052a919a85a77a3de1ea424"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ac88e330eb052a919a85a77a3de1ea424"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31953e1006e0b19c10f5998b31e735c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31953e1006e0b19c10f5998b31e735c3"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMWorker.html#a31953e1006e0b19c10f5998b31e735c3">Update</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="memdesc:a31953e1006e0b19c10f5998b31e735c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a request message to Update the parameter object. <br/></td></tr>
+<tr class="separator:a31953e1006e0b19c10f5998b31e735c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3496f3679257b3c337e6c77b860dce3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3496f3679257b3c337e6c77b860dce3c"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:a3496f3679257b3c337e6c77b860dce3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa69dece9e990b3c25315f7e9226d7e5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa69dece9e990b3c25315f7e9226d7e5e"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMWorker.html#aa69dece9e990b3c25315f7e9226d7e5e">Collect</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **)</td></tr>
+<tr class="memdesc:aa69dece9e990b3c25315f7e9226d7e5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect a <a class="el" href="classsinga_1_1Param.html">Param</a> object returned from server. <br/></td></tr>
+<tr class="separator:aa69dece9e990b3c25315f7e9226d7e5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af866eeeb80821f8ac17a6c9e99cebf1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af866eeeb80821f8ac17a6c9e99cebf1b"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1PMWorker.html#af866eeeb80821f8ac17a6c9e99cebf1b">Put</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="memdesc:af866eeeb80821f8ac17a6c9e99cebf1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a request message to Put the parameter object. <br/></td></tr>
+<tr class="separator:af866eeeb80821f8ac17a6c9e99cebf1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace080ba577fdd1add3ec0119990bb1cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace080ba577fdd1add3ec0119990bb1cb"></a>
+virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Put</b> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> **msg)</td></tr>
+<tr class="separator:ace080ba577fdd1add3ec0119990bb1cb"><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:a4947ce4984da0ee4e1486c0d12810827"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4947ce4984da0ee4e1486c0d12810827"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_id_</b></td></tr>
+<tr class="separator:a4947ce4984da0ee4e1486c0d12810827"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0229dda3a527f7a6f650940c4aa54782"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0229dda3a527f7a6f650940c4aa54782"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>worker_id_</b></td></tr>
+<tr class="separator:a0229dda3a527f7a6f650940c4aa54782"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3259dbed95b02f78bfc46374b891b1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3259dbed95b02f78bfc46374b891b1b"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">ParamShard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>shard_</b></td></tr>
+<tr class="separator:ae3259dbed95b02f78bfc46374b891b1b"><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>Parameter manager at the worker side. </p>
+</div><h2 class="groupheader">Member Typedef Documentation</h2>
+<a class="anchor" id="a2c6442319470a4f557921c7088338afc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::map&lt;int, shared_ptr&lt;<a class="el" href="classsinga_1_1ParamCounter.html">ParamCounter</a>&gt; &gt; <a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">singa::PMWorker::ParamShard</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Workers from the same group resident in the same process share the same ParamShard which contains ParamCounters for <a class="el" href="classsinga_1_1Param.html">Param</a> objects used/updated by these worekrs. </p>
+<p>Shared <a class="el" href="classsinga_1_1Param.html">Param</a> objects are associated with the same <a class="el" href="classsinga_1_1ParamCounter.html" title="Counters used to construct a parameter shard. ">ParamCounter</a>. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="abc856cc69b3a638fd56dfeaa429f8a4f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::PMWorker::Sharding </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>param_id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>server id where the parameter is maintained. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="pm__worker_8h_source.html">pm_worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[51/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
create github pages


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/666a841d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/666a841d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/666a841d

Branch: refs/heads/gh-pages
Commit: 666a841d6e7d6dfb16a3dc0d88bed2b547e191b2
Parents: 
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 19:40:56 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 19:40:56 2015 +0800

----------------------------------------------------------------------
 .gitignore                                      |     1 +
 404.html                                        |     1 +
 History.markdown                                |    16 +
 README.md                                       |    40 +
 Rakefile                                        |   311 +
 _config-prod.yml                                |     5 +
 _config.yml                                     |   130 +
 _drafts/jekyll-introduction-draft.md            |    10 +
 _includes/JB/analytics                          |    16 +
 _includes/JB/analytics-providers/getclicky      |    12 +
 _includes/JB/analytics-providers/google         |    11 +
 _includes/JB/analytics-providers/mixpanel       |    11 +
 _includes/JB/analytics-providers/piwik          |    10 +
 _includes/JB/categories_list                    |    37 +
 _includes/JB/comments                           |    16 +
 _includes/JB/comments-providers/disqus          |    14 +
 _includes/JB/comments-providers/facebook        |     9 +
 _includes/JB/comments-providers/intensedebate   |     6 +
 _includes/JB/comments-providers/livefyre        |     6 +
 _includes/JB/liquid_raw                         |    32 +
 _includes/JB/pages_list                         |    39 +
 _includes/JB/posts_collate                      |    55 +
 _includes/JB/setup                              |    22 +
 _includes/JB/sharing                            |     8 +
 _includes/JB/tags_list                          |    33 +
 _includes/themes/bootstrap-3/default.html       |    98 +
 _includes/themes/bootstrap-3/page.html          |     9 +
 _includes/themes/bootstrap-3/post.html          |    47 +
 _includes/themes/bootstrap-3/settings.yml       |     2 +
 _includes/themes/twitter/default.html           |   127 +
 _includes/themes/twitter/frontpage.html         |   136 +
 _includes/themes/twitter/page.html              |    11 +
 _includes/themes/twitter/post.html              |    52 +
 _includes/themes/twitter/settings.yml           |     2 +
 _layouts/default.html                           |     6 +
 _layouts/frontpage.html                         |     6 +
 _layouts/page.html                              |     5 +
 _layouts/post.html                              |     5 +
 _plugins/debug.rb                               |    38 +
 _plugins/tocGenerator.rb                        |   117 +
 _posts/community/2015-01-20-code-style.md       |    42 +
 _posts/docs/2015-01-10-quick-start.md           |   103 +
 _posts/docs/2015-01-20-installation.md          |     9 +
 _posts/docs/2015-01-30-architecture.md          |   171 +
 _posts/docs/2015-02-10-communication.md         |   354 +
 _posts/docs/2015-02-20-code-structure.md        |    80 +
 _posts/docs/2015-02-30-neuralnet-partition.md   |    59 +
 _posts/docs/2015-03-10-programming-model.md     |   132 +
 _posts/docs/2015-03-20-parameter-management.md  |   174 +
 _posts/research/00-publication.md               |    19 +
 api/annotated.html                              |   537 +
 api/base__layer_8h_source.html                  |   575 +
 api/bc_s.png                                    |   Bin 0 -> 676 bytes
 api/bdwn.png                                    |   Bin 0 -> 147 bytes
 api/blob_8h_source.html                         |   198 +
 api/classASingleton-members.html                |   104 +
 api/classASingleton.html                        |   125 +
 api/classBlob-members.html                      |   124 +
 api/classBlob.html                              |   262 +
 api/classFactory-members.html                   |   104 +
 api/classFactory.html                           |   194 +
 api/classGraph-members.html                     |   120 +
 api/classGraph.html                             |   167 +
 api/classNode-members.html                      |   117 +
 api/classNode.html                              |   158 +
 api/classSingleton-members.html                 |   103 +
 api/classSingleton.html                         |   112 +
 api/classSyncedMemory-members.html              |   117 +
 api/classSyncedMemory.html                      |   151 +
 api/classes.html                                |   229 +
 api/classmshadow_1_1Random.html                 |   122 +
 ...smshadow_1_1Random_3_01cpu_01_4-members.html |   113 +
 api/classmshadow_1_1Random_3_01cpu_01_4.html    |   409 +
 ...classmshadow_1_1TensorContainer-members.html |   142 +
 api/classmshadow_1_1TensorContainer.html        |   570 +
 api/classmshadow_1_1TensorContainer.png         |   Bin 0 -> 2542 bytes
 ...mshadow_1_1expr_1_1ContainerExp-members.html |   120 +
 api/classmshadow_1_1expr_1_1ContainerExp.html   |   226 +
 api/classmshadow_1_1expr_1_1ContainerExp.png    |   Bin 0 -> 1071 bytes
 api/classmshadow_1_1expr_1_1Plan-members.html   |   107 +
 api/classmshadow_1_1expr_1_1Plan.html           |   127 +
 ...TA_00_01TB_00_01etype_01_4_01_4-members.html |   108 +
 ...OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html |   119 +
 ...expr_1_1Plan_3_01ScalarExp_01_4-members.html |   108 +
 ...adow_1_1expr_1_1Plan_3_01ScalarExp_01_4.html |   120 +
 ...sor_3_01Device_00_011_01_4_01_4-members.html |   108 +
 ..._3_01Tensor_3_01Device_00_011_01_4_01_4.html |   119 +
 ...r_3_01Device_00_01dim_01_4_01_4-members.html |   108 +
 ..._01Tensor_3_01Device_00_01dim_01_4_01_4.html |   119 +
 ...OP_00_01TA_00_01etype_01_4_01_4-members.html |   108 +
 ...Exp_3_01OP_00_01TA_00_01etype_01_4_01_4.html |   119 +
 ...classmshadow_1_1expr_1_1SSEPlan-members.html |   108 +
 api/classmshadow_1_1expr_1_1SSEPlan.html        |   121 +
 ...TA_00_01TB_00_01etype_01_4_01_4-members.html |   109 +
 ...OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html |   123 +
 ...pu_00_01dimdst_00_010_01_4_01_4-members.html |   109 +
 ...xp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html |   123 +
 ...r_1_1SSEPlan_3_01ScalarExp_01_4-members.html |   109 +
 ...w_1_1expr_1_1SSEPlan_3_01ScalarExp_01_4.html |   123 +
 ...r_3_01Device_00_01dim_01_4_01_4-members.html |   109 +
 ..._01Tensor_3_01Device_00_01dim_01_4_01_4.html |   123 +
 ...OP_00_01TA_00_01etype_01_4_01_4-members.html |   109 +
 ...Exp_3_01OP_00_01TA_00_01etype_01_4_01_4.html |   123 +
 ...smshadow_1_1utils_1_1FileStream-members.html |   111 +
 api/classmshadow_1_1utils_1_1FileStream.html    |   240 +
 api/classmshadow_1_1utils_1_1FileStream.png     |   Bin 0 -> 685 bytes
 ...lassmshadow_1_1utils_1_1IStream-members.html |   109 +
 api/classmshadow_1_1utils_1_1IStream.html       |   231 +
 api/classmshadow_1_1utils_1_1IStream.png        |   Bin 0 -> 691 bytes
 api/classsinga_1_1AdaGradUpdater-members.html   |   113 +
 api/classsinga_1_1AdaGradUpdater.html           |   149 +
 api/classsinga_1_1AdaGradUpdater.png            |   Bin 0 -> 643 bytes
 api/classsinga_1_1BPWorker-members.html         |   144 +
 api/classsinga_1_1BPWorker.html                 |   267 +
 api/classsinga_1_1BPWorker.png                  |   Bin 0 -> 531 bytes
 api/classsinga_1_1BaseMsg-members.html          |   127 +
 api/classsinga_1_1BaseMsg.html                  |   266 +
 api/classsinga_1_1BaseMsg.png                   |   Bin 0 -> 534 bytes
 api/classsinga_1_1BasePoller-members.html       |   108 +
 api/classsinga_1_1BasePoller.html               |   165 +
 api/classsinga_1_1BasePoller.png                |   Bin 0 -> 554 bytes
 api/classsinga_1_1BridgeDstLayer-members.html   |   157 +
 api/classsinga_1_1BridgeDstLayer.html           |   460 +
 api/classsinga_1_1BridgeDstLayer.png            |   Bin 0 -> 622 bytes
 api/classsinga_1_1BridgeSrcLayer-members.html   |   157 +
 api/classsinga_1_1BridgeSrcLayer.html           |   460 +
 api/classsinga_1_1BridgeSrcLayer.png            |   Bin 0 -> 627 bytes
 api/classsinga_1_1Cluster-members.html          |   130 +
 api/classsinga_1_1Cluster.html                  |   291 +
 api/classsinga_1_1ConcateLayer-members.html     |   156 +
 api/classsinga_1_1ConcateLayer.html             |   376 +
 api/classsinga_1_1ConcateLayer.png              |   Bin 0 -> 558 bytes
 api/classsinga_1_1ConvolutionLayer-members.html |   172 +
 api/classsinga_1_1ConvolutionLayer.html         |   438 +
 api/classsinga_1_1ConvolutionLayer.png          |   Bin 0 -> 627 bytes
 api/classsinga_1_1DataLayer-members.html        |   165 +
 api/classsinga_1_1DataLayer.html                |   578 +
 api/classsinga_1_1DataLayer.png                 |   Bin 0 -> 1287 bytes
 api/classsinga_1_1DataShard-members.html        |   122 +
 api/classsinga_1_1DataShard.html                |   555 +
 api/classsinga_1_1Dealer-members.html           |   118 +
 api/classsinga_1_1Dealer.html                   |   277 +
 api/classsinga_1_1Dealer.png                    |   Bin 0 -> 492 bytes
 api/classsinga_1_1DropoutLayer-members.html     |   158 +
 api/classsinga_1_1DropoutLayer.html             |   376 +
 api/classsinga_1_1DropoutLayer.png              |   Bin 0 -> 576 bytes
 ...classsinga_1_1InnerProductLayer-members.html |   156 +
 api/classsinga_1_1InnerProductLayer.html        |   389 +
 api/classsinga_1_1InnerProductLayer.png         |   Bin 0 -> 642 bytes
 api/classsinga_1_1LMDBDataLayer-members.html    |   168 +
 api/classsinga_1_1LMDBDataLayer.html            |   363 +
 api/classsinga_1_1LMDBDataLayer.png             |   Bin 0 -> 909 bytes
 api/classsinga_1_1LRNLayer-members.html         |   165 +
 api/classsinga_1_1LRNLayer.html                 |   394 +
 api/classsinga_1_1LRNLayer.png                  |   Bin 0 -> 547 bytes
 api/classsinga_1_1LabelLayer-members.html       |   157 +
 api/classsinga_1_1LabelLayer.html               |   375 +
 api/classsinga_1_1LabelLayer.png                |   Bin 0 -> 812 bytes
 api/classsinga_1_1Layer-members.html            |   154 +
 api/classsinga_1_1Layer.html                    |   741 +
 api/classsinga_1_1Layer.png                     |   Bin 0 -> 6330 bytes
 api/classsinga_1_1LossLayer-members.html        |   156 +
 api/classsinga_1_1LossLayer.html                |   409 +
 api/classsinga_1_1LossLayer.png                 |   Bin 0 -> 918 bytes
 api/classsinga_1_1MnistImageLayer-members.html  |   166 +
 api/classsinga_1_1MnistImageLayer.html          |   403 +
 api/classsinga_1_1MnistImageLayer.png           |   Bin 0 -> 941 bytes
 api/classsinga_1_1Msg-members.html              |   145 +
 api/classsinga_1_1Msg.html                      |   323 +
 api/classsinga_1_1Msg.png                       |   Bin 0 -> 533 bytes
 api/classsinga_1_1NesterovUpdater-members.html  |   113 +
 api/classsinga_1_1NesterovUpdater.html          |   149 +
 api/classsinga_1_1NesterovUpdater.png           |   Bin 0 -> 643 bytes
 api/classsinga_1_1NeuralNet-members.html        |   138 +
 api/classsinga_1_1NeuralNet.html                |   357 +
 api/classsinga_1_1PMServer-members.html         |   120 +
 api/classsinga_1_1PMServer.html                 |   280 +
 api/classsinga_1_1PMWorker-members.html         |   120 +
 api/classsinga_1_1PMWorker.html                 |   216 +
 api/classsinga_1_1Param-members.html            |   149 +
 api/classsinga_1_1Param.html                    |   295 +
 api/classsinga_1_1ParamCounter-members.html     |   116 +
 api/classsinga_1_1ParamCounter.html             |   215 +
 api/classsinga_1_1ParserLayer-members.html      |   157 +
 api/classsinga_1_1ParserLayer.html              |   620 +
 api/classsinga_1_1ParserLayer.png               |   Bin 0 -> 1628 bytes
 api/classsinga_1_1Performance-members.html      |   110 +
 api/classsinga_1_1Performance.html              |   134 +
 api/classsinga_1_1Poller-members.html           |   111 +
 api/classsinga_1_1Poller.html                   |   175 +
 api/classsinga_1_1Poller.png                    |   Bin 0 -> 548 bytes
 api/classsinga_1_1PoolingLayer-members.html     |   166 +
 api/classsinga_1_1PoolingLayer.html             |   400 +
 api/classsinga_1_1PoolingLayer.png              |   Bin 0 -> 569 bytes
 api/classsinga_1_1RGBImageLayer-members.html    |   157 +
 api/classsinga_1_1RGBImageLayer.html            |   375 +
 api/classsinga_1_1RGBImageLayer.png             |   Bin 0 -> 932 bytes
 api/classsinga_1_1RMSPropUpdater-members.html   |   114 +
 api/classsinga_1_1RMSPropUpdater.html           |   152 +
 api/classsinga_1_1RMSPropUpdater.png            |   Bin 0 -> 653 bytes
 api/classsinga_1_1ReLULayer-members.html        |   156 +
 api/classsinga_1_1ReLULayer.html                |   369 +
 api/classsinga_1_1ReLULayer.png                 |   Bin 0 -> 548 bytes
 api/classsinga_1_1Router-members.html           |   121 +
 api/classsinga_1_1Router.html                   |   279 +
 api/classsinga_1_1Router.png                    |   Bin 0 -> 487 bytes
 api/classsinga_1_1SGDUpdater-members.html       |   113 +
 api/classsinga_1_1SGDUpdater.html               |   149 +
 api/classsinga_1_1SGDUpdater.png                |   Bin 0 -> 578 bytes
 api/classsinga_1_1Server-members.html           |   113 +
 api/classsinga_1_1Server.html                   |   138 +
 api/classsinga_1_1ShardDataLayer-members.html   |   167 +
 api/classsinga_1_1ShardDataLayer.html           |   360 +
 api/classsinga_1_1ShardDataLayer.png            |   Bin 0 -> 914 bytes
 api/classsinga_1_1SliceLayer-members.html       |   159 +
 api/classsinga_1_1SliceLayer.html               |   444 +
 api/classsinga_1_1SliceLayer.png                |   Bin 0 -> 551 bytes
 api/classsinga_1_1Socket-members.html           |   112 +
 api/classsinga_1_1Socket.html                   |   229 +
 api/classsinga_1_1Socket.png                    |   Bin 0 -> 692 bytes
 api/classsinga_1_1SoftmaxLossLayer-members.html |   158 +
 api/classsinga_1_1SoftmaxLossLayer.html         |   408 +
 api/classsinga_1_1SoftmaxLossLayer.png          |   Bin 0 -> 911 bytes
 api/classsinga_1_1SplitLayer-members.html       |   156 +
 api/classsinga_1_1SplitLayer.html               |   376 +
 api/classsinga_1_1SplitLayer.png                |   Bin 0 -> 549 bytes
 api/classsinga_1_1TanhLayer-members.html        |   156 +
 api/classsinga_1_1TanhLayer.html                |   377 +
 api/classsinga_1_1TanhLayer.png                 |   Bin 0 -> 545 bytes
 api/classsinga_1_1Trainer-members.html          |   109 +
 api/classsinga_1_1Trainer.html                  |   203 +
 api/classsinga_1_1Updater-members.html          |   110 +
 api/classsinga_1_1Updater.html                  |   148 +
 api/classsinga_1_1Updater.png                   |   Bin 0 -> 1423 bytes
 api/classsinga_1_1Worker-members.html           |   140 +
 api/classsinga_1_1Worker.html                   |   507 +
 api/classsinga_1_1Worker.png                    |   Bin 0 -> 536 bytes
 api/classsinga_1_1WorkerException-members.html  |   107 +
 api/classsinga_1_1WorkerException.html          |   124 +
 api/classsinga_1_1WorkerException.png           |   Bin 0 -> 591 bytes
 ...assstd_1_1tr1_1_1gtest__internal_1_1Get.html |   106 +
 ...est__internal_1_1Get_3_010_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_010_01_4.html |   121 +
 ...est__internal_1_1Get_3_011_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_011_01_4.html |   121 +
 ...est__internal_1_1Get_3_012_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_012_01_4.html |   121 +
 ...est__internal_1_1Get_3_013_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_013_01_4.html |   121 +
 ...est__internal_1_1Get_3_014_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_014_01_4.html |   121 +
 ...est__internal_1_1Get_3_015_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_015_01_4.html |   121 +
 ...est__internal_1_1Get_3_016_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_016_01_4.html |   121 +
 ...est__internal_1_1Get_3_017_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_017_01_4.html |   121 +
 ...est__internal_1_1Get_3_018_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_018_01_4.html |   121 +
 ...est__internal_1_1Get_3_019_01_4-members.html |   108 +
 ...r1_1_1gtest__internal_1_1Get_3_019_01_4.html |   121 +
 api/classstd_1_1tr1_1_1tuple-members.html       |   124 +
 api/classstd_1_1tr1_1_1tuple.html               |   177 +
 api/classstd_1_1tr1_1_1tuple_3_4-members.html   |   109 +
 api/classstd_1_1tr1_1_1tuple_3_4.html           |   119 +
 ...classtesting_1_1AssertionResult-members.html |   114 +
 api/classtesting_1_1AssertionResult.html        |   139 +
 ...sting_1_1EmptyTestEventListener-members.html |   120 +
 api/classtesting_1_1EmptyTestEventListener.html |   162 +
 api/classtesting_1_1EmptyTestEventListener.png  |   Bin 0 -> 1264 bytes
 api/classtesting_1_1Environment-members.html    |   109 +
 api/classtesting_1_1Environment.html            |   120 +
 api/classtesting_1_1Message-members.html        |   117 +
 api/classtesting_1_1Message.html                |   146 +
 ...copedFakeTestPartResultReporter-members.html |   114 +
 ...ing_1_1ScopedFakeTestPartResultReporter.html |   139 +
 ...ting_1_1ScopedFakeTestPartResultReporter.png |   Bin 0 -> 926 bytes
 api/classtesting_1_1Test-members.html           |   120 +
 api/classtesting_1_1Test.html                   |   173 +
 api/classtesting_1_1Test.png                    |   Bin 0 -> 666 bytes
 api/classtesting_1_1TestCase-members.html       |   125 +
 api/classtesting_1_1TestCase.html               |   172 +
 ...asstesting_1_1TestEventListener-members.html |   120 +
 api/classtesting_1_1TestEventListener.html      |   164 +
 api/classtesting_1_1TestEventListener.png       |   Bin 0 -> 2282 bytes
 ...sstesting_1_1TestEventListeners-members.html |   118 +
 api/classtesting_1_1TestEventListeners.html     |   148 +
 api/classtesting_1_1TestInfo-members.html       |   119 +
 api/classtesting_1_1TestInfo.html               |   154 +
 api/classtesting_1_1TestPartResult-members.html |   120 +
 api/classtesting_1_1TestPartResult.html         |   153 +
 ...stesting_1_1TestPartResultArray-members.html |   110 +
 api/classtesting_1_1TestPartResultArray.html    |   123 +
 ...TestPartResultReporterInterface-members.html |   108 +
 ...ting_1_1TestPartResultReporterInterface.html |   128 +
 ...sting_1_1TestPartResultReporterInterface.png |   Bin 0 -> 2507 bytes
 api/classtesting_1_1TestProperty-members.html   |   110 +
 api/classtesting_1_1TestProperty.html           |   125 +
 api/classtesting_1_1TestResult-members.html     |   125 +
 api/classtesting_1_1TestResult.html             |   169 +
 api/classtesting_1_1TestWithParam-members.html  |   122 +
 api/classtesting_1_1TestWithParam.html          |   167 +
 api/classtesting_1_1TestWithParam.png           |   Bin 0 -> 1084 bytes
 api/classtesting_1_1UnitTest-members.html       |   139 +
 api/classtesting_1_1UnitTest.html               |   221 +
 ...sstesting_1_1WithParamInterface-members.html |   110 +
 api/classtesting_1_1WithParamInterface.html     |   140 +
 api/classtesting_1_1WithParamInterface.png      |   Bin 0 -> 799 bytes
 ...ternal2_1_1TypeWithoutFormatter-members.html |   107 +
 ...ng_1_1internal2_1_1TypeWithoutFormatter.html |   116 +
 ...00_01kConvertibleToInteger_01_4-members.html |   107 +
 ...r_3_01T_00_01kConvertibleToInteger_01_4.html |   116 +
 ...atter_3_01T_00_01kProtobuf_01_4-members.html |   107 +
 ...houtFormatter_3_01T_00_01kProtobuf_01_4.html |   116 +
 ...ing_1_1internal_1_1AssertHelper-members.html |   109 +
 ...lasstesting_1_1internal_1_1AssertHelper.html |   121 +
 ..._1_1CartesianProductGenerator10-members.html |   112 +
 ...internal_1_1CartesianProductGenerator10.html |   147 +
 ...1internal_1_1CartesianProductGenerator10.png |   Bin 0 -> 1758 bytes
 ...l_1_1CartesianProductGenerator2-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator2.html |   145 +
 ..._1internal_1_1CartesianProductGenerator2.png |   Bin 0 -> 1343 bytes
 ...l_1_1CartesianProductGenerator3-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator3.html |   146 +
 ..._1internal_1_1CartesianProductGenerator3.png |   Bin 0 -> 1399 bytes
 ...l_1_1CartesianProductGenerator4-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator4.html |   146 +
 ..._1internal_1_1CartesianProductGenerator4.png |   Bin 0 -> 1448 bytes
 ...l_1_1CartesianProductGenerator5-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator5.html |   146 +
 ..._1internal_1_1CartesianProductGenerator5.png |   Bin 0 -> 1483 bytes
 ...l_1_1CartesianProductGenerator6-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator6.html |   146 +
 ..._1internal_1_1CartesianProductGenerator6.png |   Bin 0 -> 1522 bytes
 ...l_1_1CartesianProductGenerator7-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator7.html |   146 +
 ..._1internal_1_1CartesianProductGenerator7.png |   Bin 0 -> 1540 bytes
 ...l_1_1CartesianProductGenerator8-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator8.html |   146 +
 ..._1internal_1_1CartesianProductGenerator8.png |   Bin 0 -> 1679 bytes
 ...l_1_1CartesianProductGenerator9-members.html |   112 +
 ...1internal_1_1CartesianProductGenerator9.html |   146 +
 ..._1internal_1_1CartesianProductGenerator9.png |   Bin 0 -> 1710 bytes
 ...nal_1_1CartesianProductHolder10-members.html |   108 +
 ...1_1internal_1_1CartesianProductHolder10.html |   120 +
 ...rnal_1_1CartesianProductHolder2-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder2.html |   120 +
 ...rnal_1_1CartesianProductHolder3-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder3.html |   120 +
 ...rnal_1_1CartesianProductHolder4-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder4.html |   120 +
 ...rnal_1_1CartesianProductHolder5-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder5.html |   120 +
 ...rnal_1_1CartesianProductHolder6-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder6.html |   120 +
 ...rnal_1_1CartesianProductHolder7-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder7.html |   120 +
 ...rnal_1_1CartesianProductHolder8-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder8.html |   120 +
 ...rnal_1_1CartesianProductHolder9-members.html |   108 +
 ..._1_1internal_1_1CartesianProductHolder9.html |   120 +
 ...ultGlobalTestPartResultReporter-members.html |   109 +
 ..._1_1DefaultGlobalTestPartResultReporter.html |   128 +
 ...l_1_1DefaultGlobalTestPartResultReporter.png |   Bin 0 -> 1103 bytes
 ...PerThreadTestPartResultReporter-members.html |   109 +
 ...1DefaultPerThreadTestPartResultReporter.html |   128 +
 ..._1DefaultPerThreadTestPartResultReporter.png |   Bin 0 -> 1149 bytes
 ...testing_1_1internal_1_1EqHelper-members.html |   108 +
 api/classtesting_1_1internal_1_1EqHelper.html   |   120 +
 ...ernal_1_1EqHelper_3_01true_01_4-members.html |   108 +
 ...g_1_1internal_1_1EqHelper_3_01true_01_4.html |   121 +
 ...testing_1_1internal_1_1FilePath-members.html |   129 +
 api/classtesting_1_1internal_1_1FilePath.html   |   184 +
 ...ng_1_1internal_1_1FloatingPoint-members.html |   126 +
 ...asstesting_1_1internal_1_1FloatingPoint.html |   236 +
 ...internal_1_1FormatForComparison-members.html |   107 +
 ...ting_1_1internal_1_1FormatForComparison.html |   116 +
 ...Print[N]_00_01OtherOperand_01_4-members.html |   107 +
 ...n_3_01ToPrint[N]_00_01OtherOperand_01_4.html |   116 +
 ...g_1_1internal_1_1GTestFlagSaver-members.html |   108 +
 ...sstesting_1_1internal_1_1GTestFlagSaver.html |   108 +
 ...testing_1_1internal_1_1GTestLog-members.html |   109 +
 api/classtesting_1_1internal_1_1GTestLog.html   |   120 +
 ...g_1_1internal_1_1GTestMutexLock-members.html |   107 +
 ...sstesting_1_1internal_1_1GTestMutexLock.html |   116 +
 ...nal_1_1HasNewFatalFailureHelper-members.html |   111 +
 ...1_1internal_1_1HasNewFatalFailureHelper.html |   129 +
 ..._1_1internal_1_1HasNewFatalFailureHelper.png |   Bin 0 -> 912 bytes
 ...ternal_1_1ImplicitlyConvertible-members.html |   107 +
 ...ng_1_1internal_1_1ImplicitlyConvertible.html |   140 +
 ...asstesting_1_1internal_1_1Mutex-members.html |   110 +
 api/classtesting_1_1internal_1_1Mutex.html      |   122 +
 ...ting_1_1internal_1_1NativeArray-members.html |   116 +
 ...classtesting_1_1internal_1_1NativeArray.html |   144 +
 ...1internal_1_1OsStackTraceGetter-members.html |   112 +
 ...sting_1_1internal_1_1OsStackTraceGetter.html |   157 +
 ...esting_1_1internal_1_1OsStackTraceGetter.png |   Bin 0 -> 984 bytes
 ..._1_1OsStackTraceGetterInterface-members.html |   110 +
 ...internal_1_1OsStackTraceGetterInterface.html |   128 +
 ...1internal_1_1OsStackTraceGetterInterface.png |   Bin 0 -> 986 bytes
 ...g_1_1internal_1_1ParamGenerator-members.html |   112 +
 ...sstesting_1_1internal_1_1ParamGenerator.html |   135 +
 ...rnal_1_1ParamGeneratorInterface-members.html |   110 +
 ..._1_1internal_1_1ParamGeneratorInterface.html |   128 +
 ...ng_1_1internal_1_1ParamIterator-members.html |   118 +
 ...asstesting_1_1internal_1_1ParamIterator.html |   157 +
 ...ernal_1_1ParamIteratorInterface-members.html |   112 +
 ...g_1_1internal_1_1ParamIteratorInterface.html |   129 +
 ...al_1_1ParameterizedTestCaseInfo-members.html |   116 +
 ..._1internal_1_1ParameterizedTestCaseInfo.html |   151 +
 ...1_1internal_1_1ParameterizedTestCaseInfo.png |   Bin 0 -> 1172 bytes
 ..._1ParameterizedTestCaseInfoBase-members.html |   111 +
 ...ternal_1_1ParameterizedTestCaseInfoBase.html |   131 +
 ...nternal_1_1ParameterizedTestCaseInfoBase.png |   Bin 0 -> 1175 bytes
 ..._1ParameterizedTestCaseRegistry-members.html |   110 +
 ...ternal_1_1ParameterizedTestCaseRegistry.html |   121 +
 ...nal_1_1ParameterizedTestFactory-members.html |   111 +
 ...1_1internal_1_1ParameterizedTestFactory.html |   135 +
 ..._1_1internal_1_1ParameterizedTestFactory.png |   Bin 0 -> 1108 bytes
 ..._1_1PrettyUnitTestResultPrinter-members.html |   122 +
 ...internal_1_1PrettyUnitTestResultPrinter.html |   168 +
 ...1internal_1_1PrettyUnitTestResultPrinter.png |   Bin 0 -> 873 bytes
 api/classtesting_1_1internal_1_1RE-members.html |   115 +
 api/classtesting_1_1internal_1_1RE.html         |   141 +
 ...sstesting_1_1internal_1_1Random-members.html |   110 +
 api/classtesting_1_1internal_1_1Random.html     |   130 +
 ...g_1_1internal_1_1RangeGenerator-members.html |   112 +
 ...sstesting_1_1internal_1_1RangeGenerator.html |   141 +
 ...asstesting_1_1internal_1_1RangeGenerator.png |   Bin 0 -> 1101 bytes
 ...rnal_1_1ScopedPrematureExitFile-members.html |   108 +
 ..._1_1internal_1_1ScopedPrematureExitFile.html |   116 +
 ...ting_1_1internal_1_1ScopedTrace-members.html |   108 +
 ...classtesting_1_1internal_1_1ScopedTrace.html |   117 +
 ...nternal_1_1SingleFailureChecker-members.html |   108 +
 ...ing_1_1internal_1_1SingleFailureChecker.html |   116 +
 ...sstesting_1_1internal_1_1String-members.html |   116 +
 api/classtesting_1_1internal_1_1String.html     |   144 +
 ...g_1_1internal_1_1TestCaseNameIs-members.html |   108 +
 ...sstesting_1_1internal_1_1TestCaseNameIs.html |   119 +
 ..._1internal_1_1TestEventRepeater-members.html |   126 +
 ...esting_1_1internal_1_1TestEventRepeater.html |   173 +
 ...testing_1_1internal_1_1TestEventRepeater.png |   Bin 0 -> 805 bytes
 ..._1_1internal_1_1TestFactoryBase-members.html |   109 +
 ...stesting_1_1internal_1_1TestFactoryBase.html |   126 +
 ...sstesting_1_1internal_1_1TestFactoryBase.png |   Bin 0 -> 1606 bytes
 ..._1_1internal_1_1TestFactoryImpl-members.html |   109 +
 ...stesting_1_1internal_1_1TestFactoryImpl.html |   125 +
 ...sstesting_1_1internal_1_1TestFactoryImpl.png |   Bin 0 -> 966 bytes
 ..._1_1internal_1_1TestMetaFactory-members.html |   110 +
 ...stesting_1_1internal_1_1TestMetaFactory.html |   132 +
 ...sstesting_1_1internal_1_1TestMetaFactory.png |   Bin 0 -> 1262 bytes
 ...internal_1_1TestMetaFactoryBase-members.html |   108 +
 ...ting_1_1internal_1_1TestMetaFactoryBase.html |   116 +
 ..._1internal_1_1TestPropertyKeyIs-members.html |   108 +
 ...esting_1_1internal_1_1TestPropertyKeyIs.html |   119 +
 ...1internal_1_1TestResultAccessor-members.html |   109 +
 ...sting_1_1internal_1_1TestResultAccessor.html |   123 +
 ...ting_1_1internal_1_1ThreadLocal-members.html |   112 +
 ...classtesting_1_1internal_1_1ThreadLocal.html |   128 +
 ...ing_1_1internal_1_1TypeIdHelper-members.html |   107 +
 ...lasstesting_1_1internal_1_1TypeIdHelper.html |   116 +
 ...ing_1_1internal_1_1TypeWithSize-members.html |   107 +
 ...lasstesting_1_1internal_1_1TypeWithSize.html |   116 +
 ...rnal_1_1TypeWithSize_3_014_01_4-members.html |   108 +
 ..._1_1internal_1_1TypeWithSize_3_014_01_4.html |   119 +
 ...rnal_1_1TypeWithSize_3_018_01_4-members.html |   108 +
 ..._1_1internal_1_1TypeWithSize_3_018_01_4.html |   119 +
 ...ing_1_1internal_1_1UnitTestImpl-members.html |   163 +
 ...lasstesting_1_1internal_1_1UnitTestImpl.html |   284 +
 ..._1_1internal_1_1UnitTestOptions-members.html |   111 +
 ...stesting_1_1internal_1_1UnitTestOptions.html |   128 +
 ...1_1internal_1_1UniversalPrinter-members.html |   107 +
 ...testing_1_1internal_1_1UniversalPrinter.html |   116 +
 ..._1_1UniversalPrinter_3_01T[N]_4-members.html |   107 +
 ...internal_1_1UniversalPrinter_3_01T[N]_4.html |   116 +
 ...niversalPrinter_3_01T_01_6_01_4-members.html |   107 +
 ...nal_1_1UniversalPrinter_3_01T_01_6_01_4.html |   116 +
 ...ternal_1_1UniversalTersePrinter-members.html |   107 +
 ...ng_1_1internal_1_1UniversalTersePrinter.html |   116 +
 ...niversalTersePrinter_3_01T[N]_4-members.html |   107 +
 ...nal_1_1UniversalTersePrinter_3_01T[N]_4.html |   116 +
 ...salTersePrinter_3_01T_01_6_01_4-members.html |   107 +
 ..._1UniversalTersePrinter_3_01T_01_6_01_4.html |   116 +
 ...TersePrinter_3_01char_01_5_01_4-members.html |   107 +
 ...niversalTersePrinter_3_01char_01_5_01_4.html |   116 +
 ...nter_3_01const_01char_01_5_01_4-members.html |   107 +
 ...TersePrinter_3_01const_01char_01_5_01_4.html |   116 +
 ..._3_01const_01wchar__t_01_5_01_4-members.html |   107 +
 ...ePrinter_3_01const_01wchar__t_01_5_01_4.html |   116 +
 ...ePrinter_3_01wchar__t_01_5_01_4-members.html |   107 +
 ...rsalTersePrinter_3_01wchar__t_01_5_01_4.html |   116 +
 ...ting_1_1internal_1_1ValueArray1-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray1.html |   120 +
 ...ing_1_1internal_1_1ValueArray10-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray10.html |   120 +
 ...ing_1_1internal_1_1ValueArray11-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray11.html |   120 +
 ...ing_1_1internal_1_1ValueArray12-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray12.html |   120 +
 ...ing_1_1internal_1_1ValueArray13-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray13.html |   120 +
 ...ing_1_1internal_1_1ValueArray14-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray14.html |   120 +
 ...ing_1_1internal_1_1ValueArray15-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray15.html |   120 +
 ...ing_1_1internal_1_1ValueArray16-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray16.html |   120 +
 ...ing_1_1internal_1_1ValueArray17-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray17.html |   120 +
 ...ing_1_1internal_1_1ValueArray18-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray18.html |   120 +
 ...ing_1_1internal_1_1ValueArray19-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray19.html |   120 +
 ...ting_1_1internal_1_1ValueArray2-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray2.html |   120 +
 ...ing_1_1internal_1_1ValueArray20-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray20.html |   120 +
 ...ing_1_1internal_1_1ValueArray21-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray21.html |   120 +
 ...ing_1_1internal_1_1ValueArray22-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray22.html |   120 +
 ...ing_1_1internal_1_1ValueArray23-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray23.html |   120 +
 ...ing_1_1internal_1_1ValueArray24-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray24.html |   120 +
 ...ing_1_1internal_1_1ValueArray25-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray25.html |   120 +
 ...ing_1_1internal_1_1ValueArray26-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray26.html |   120 +
 ...ing_1_1internal_1_1ValueArray27-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray27.html |   120 +
 ...ing_1_1internal_1_1ValueArray28-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray28.html |   120 +
 ...ing_1_1internal_1_1ValueArray29-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray29.html |   120 +
 ...ting_1_1internal_1_1ValueArray3-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray3.html |   120 +
 ...ing_1_1internal_1_1ValueArray30-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray30.html |   120 +
 ...ing_1_1internal_1_1ValueArray31-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray31.html |   120 +
 ...ing_1_1internal_1_1ValueArray32-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray32.html |   120 +
 ...ing_1_1internal_1_1ValueArray33-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray33.html |   120 +
 ...ing_1_1internal_1_1ValueArray34-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray34.html |   120 +
 ...ing_1_1internal_1_1ValueArray35-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray35.html |   120 +
 ...ing_1_1internal_1_1ValueArray36-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray36.html |   120 +
 ...ing_1_1internal_1_1ValueArray37-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray37.html |   120 +
 ...ing_1_1internal_1_1ValueArray38-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray38.html |   120 +
 ...ing_1_1internal_1_1ValueArray39-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray39.html |   120 +
 ...ting_1_1internal_1_1ValueArray4-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray4.html |   120 +
 ...ing_1_1internal_1_1ValueArray40-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray40.html |   120 +
 ...ing_1_1internal_1_1ValueArray41-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray41.html |   120 +
 ...ing_1_1internal_1_1ValueArray42-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray42.html |   120 +
 ...ing_1_1internal_1_1ValueArray43-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray43.html |   120 +
 ...ing_1_1internal_1_1ValueArray44-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray44.html |   120 +
 ...ing_1_1internal_1_1ValueArray45-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray45.html |   120 +
 ...ing_1_1internal_1_1ValueArray46-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray46.html |   120 +
 ...ing_1_1internal_1_1ValueArray47-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray47.html |   120 +
 ...ing_1_1internal_1_1ValueArray48-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray48.html |   120 +
 ...ing_1_1internal_1_1ValueArray49-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray49.html |   120 +
 ...ting_1_1internal_1_1ValueArray5-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray5.html |   120 +
 ...ing_1_1internal_1_1ValueArray50-members.html |   108 +
 ...lasstesting_1_1internal_1_1ValueArray50.html |   120 +
 ...ting_1_1internal_1_1ValueArray6-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray6.html |   120 +
 ...ting_1_1internal_1_1ValueArray7-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray7.html |   120 +
 ...ting_1_1internal_1_1ValueArray8-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray8.html |   120 +
 ...ting_1_1internal_1_1ValueArray9-members.html |   108 +
 ...classtesting_1_1internal_1_1ValueArray9.html |   120 +
 ...1ValuesInIteratorRangeGenerator-members.html |   112 +
 ...ernal_1_1ValuesInIteratorRangeGenerator.html |   142 +
 ...ternal_1_1ValuesInIteratorRangeGenerator.png |   Bin 0 -> 1109 bytes
 ...nal_1_1XmlUnitTestResultPrinter-members.html |   121 +
 ...1_1internal_1_1XmlUnitTestResultPrinter.html |   166 +
 ..._1_1internal_1_1XmlUnitTestResultPrinter.png |   Bin 0 -> 1262 bytes
 ...ting_1_1internal_1_1linked__ptr-members.html |   122 +
 ...classtesting_1_1internal_1_1linked__ptr.html |   171 +
 ...ternal_1_1linked__ptr__internal-members.html |   109 +
 ...ng_1_1internal_1_1linked__ptr__internal.html |   122 +
 ...ting_1_1internal_1_1scoped__ptr-members.html |   114 +
 ...classtesting_1_1internal_1_1scoped__ptr.html |   138 +
 api/closed.png                                  |   Bin 0 -> 132 bytes
 api/cluster_8h_source.html                      |   207 +
 api/common_8h_source.html                       |   152 +
 api/cxxnet__op_8h.html                          |   162 +
 api/cxxnet__op_8h_source.html                   |   225 +
 api/data__shard_8h_source.html                  |   173 +
 api/dir_0bdd93ec66f041d6b915f2cba872ba06.html   |   135 +
 api/dir_13981ebe1996195cf5339def4a394399.html   |   101 +
 api/dir_2e910d0440df6e38865e84b3a60bdb80.html   |   105 +
 api/dir_40eb59c46f96bd5d242a3dfec0e63b93.html   |   105 +
 api/dir_471ba8438acfca43dfb8fdf282d56fcc.html   |   109 +
 api/dir_490c3eee703995b0233ca18000622f4b.html   |   103 +
 api/dir_6c391fc7db700cf41983872f39408b84.html   |   101 +
 api/dir_a20507fa2f2ddc21c47fdd32cfd67062.html   |   111 +
 api/dir_b3c0b766b89f59af8c2c245fcdc54977.html   |   117 +
 api/doxygen.css                                 |  1366 ++
 api/doxygen.png                                 |   Bin 0 -> 3779 bytes
 api/dynsections.js                              |    97 +
 api/factory_8h_source.html                      |   139 +
 api/files.html                                  |   142 +
 api/ftv2blank.png                               |   Bin 0 -> 86 bytes
 api/ftv2cl.png                                  |   Bin 0 -> 453 bytes
 api/ftv2doc.png                                 |   Bin 0 -> 746 bytes
 api/ftv2folderclosed.png                        |   Bin 0 -> 616 bytes
 api/ftv2folderopen.png                          |   Bin 0 -> 597 bytes
 api/ftv2lastnode.png                            |   Bin 0 -> 86 bytes
 api/ftv2link.png                                |   Bin 0 -> 746 bytes
 api/ftv2mlastnode.png                           |   Bin 0 -> 246 bytes
 api/ftv2mnode.png                               |   Bin 0 -> 246 bytes
 api/ftv2mo.png                                  |   Bin 0 -> 403 bytes
 api/ftv2node.png                                |   Bin 0 -> 86 bytes
 api/ftv2ns.png                                  |   Bin 0 -> 388 bytes
 api/ftv2plastnode.png                           |   Bin 0 -> 229 bytes
 api/ftv2pnode.png                               |   Bin 0 -> 229 bytes
 api/ftv2splitbar.png                            |   Bin 0 -> 314 bytes
 api/ftv2vertline.png                            |   Bin 0 -> 86 bytes
 api/functions.html                              |   138 +
 api/functions_a.html                            |   155 +
 api/functions_b.html                            |   147 +
 api/functions_c.html                            |   186 +
 api/functions_d.html                            |   169 +
 api/functions_e.html                            |   148 +
 api/functions_eval.html                         |   112 +
 api/functions_f.html                            |   149 +
 api/functions_func.html                         |   137 +
 api/functions_func_a.html                       |   151 +
 api/functions_func_b.html                       |   143 +
 api/functions_func_c.html                       |   185 +
 api/functions_func_d.html                       |   154 +
 api/functions_func_e.html                       |   144 +
 api/functions_func_f.html                       |   148 +
 api/functions_func_g.html                       |   148 +
 api/functions_func_h.html                       |   155 +
 api/functions_func_i.html                       |   145 +
 api/functions_func_l.html                       |   137 +
 api/functions_func_m.html                       |   155 +
 api/functions_func_n.html                       |   147 +
 api/functions_func_o.html                       |   159 +
 api/functions_func_p.html                       |   192 +
 api/functions_func_r.html                       |   189 +
 api/functions_func_s.html                       |   277 +
 api/functions_func_t.html                       |   170 +
 api/functions_func_u.html                       |   150 +
 api/functions_func_v.html                       |   137 +
 api/functions_func_w.html                       |   142 +
 api/functions_func_~.html                       |   140 +
 api/functions_g.html                            |   152 +
 api/functions_h.html                            |   156 +
 api/functions_i.html                            |   161 +
 api/functions_k.html                            |   197 +
 api/functions_l.html                            |   145 +
 api/functions_m.html                            |   159 +
 api/functions_n.html                            |   163 +
 api/functions_o.html                            |   170 +
 api/functions_p.html                            |   213 +
 api/functions_r.html                            |   194 +
 api/functions_s.html                            |   316 +
 api/functions_t.html                            |   171 +
 api/functions_type.html                         |   116 +
 api/functions_u.html                            |   151 +
 api/functions_v.html                            |   138 +
 api/functions_vars.html                         |   362 +
 api/functions_w.html                            |   143 +
 api/functions_~.html                            |   141 +
 api/globals.html                                |   131 +
 api/globals_defs.html                           |   131 +
 api/graph_8h_source.html                        |   251 +
 api/gtest_8h_source.html                        | 20313 +++++++++++++++++
 api/hierarchy.html                              |   617 +
 api/index.html                                  |    91 +
 api/jquery.js                                   |    31 +
 api/layer_8h_source.html                        |   394 +
 api/msg_8h_source.html                          |   281 +
 api/namespacemembers.html                       |   349 +
 api/namespacemembers_func.html                  |   323 +
 api/namespacemembers_type.html                  |   109 +
 api/namespacemembers_vars.html                  |   118 +
 api/namespacemshadow.html                       |  1462 ++
 api/namespacemshadow_1_1expr.html               |  1575 ++
 api/namespacemshadow_1_1expr_1_1type.html       |   124 +
 api/namespacemshadow_1_1op.html                 |   167 +
 api/namespacemshadow_1_1red.html                |   118 +
 api/namespacemshadow_1_1sse2.html               |   331 +
 api/namespacemshadow_1_1sv.html                 |   127 +
 api/namespacemshadow_1_1utils.html              |   138 +
 api/namespaces.html                             |   109 +
 api/nav_f.png                                   |   Bin 0 -> 153 bytes
 api/nav_g.png                                   |   Bin 0 -> 95 bytes
 api/nav_h.png                                   |   Bin 0 -> 98 bytes
 api/neuralnet_8h_source.html                    |   221 +
 api/open.png                                    |   Bin 0 -> 123 bytes
 api/param_8h_source.html                        |   229 +
 api/pm__server_8h_source.html                   |   159 +
 api/pm__worker_8h_source.html                   |   189 +
 api/search/all_0.html                           |    26 +
 api/search/all_0.js                             |     5 +
 api/search/all_1.html                           |    26 +
 api/search/all_1.js                             |    21 +
 api/search/all_10.html                          |    26 +
 api/search/all_10.js                            |    42 +
 api/search/all_11.html                          |    26 +
 api/search/all_11.js                            |   125 +
 api/search/all_12.html                          |    26 +
 api/search/all_12.js                            |   113 +
 api/search/all_13.html                          |    26 +
 api/search/all_13.js                            |    28 +
 api/search/all_14.html                          |    26 +
 api/search/all_14.js                            |    55 +
 api/search/all_15.html                          |    26 +
 api/search/all_15.js                            |     9 +
 api/search/all_16.html                          |    26 +
 api/search/all_16.js                            |     4 +
 api/search/all_17.html                          |    26 +
 api/search/all_17.js                            |     5 +
 api/search/all_2.html                           |    26 +
 api/search/all_2.js                             |    26 +
 api/search/all_3.html                           |    26 +
 api/search/all_3.js                             |    53 +
 api/search/all_4.html                           |    26 +
 api/search/all_4.js                             |    27 +
 api/search/all_5.html                           |    26 +
 api/search/all_5.js                             |    49 +
 api/search/all_6.html                           |    26 +
 api/search/all_6.js                             |    18 +
 api/search/all_7.html                           |    26 +
 api/search/all_7.js                             |    24 +
 api/search/all_8.html                           |    26 +
 api/search/all_8.js                             |    11 +
 api/search/all_9.html                           |    26 +
 api/search/all_9.js                             |    23 +
 api/search/all_a.html                           |    26 +
 api/search/all_a.js                             |    25 +
 api/search/all_b.html                           |    26 +
 api/search/all_b.js                             |    15 +
 api/search/all_c.html                           |    26 +
 api/search/all_c.js                             |    57 +
 api/search/all_d.html                           |    26 +
 api/search/all_d.js                             |    17 +
 api/search/all_e.html                           |    26 +
 api/search/all_e.js                             |    19 +
 api/search/all_f.html                           |    26 +
 api/search/all_f.js                             |    99 +
 api/search/classes_0.html                       |    26 +
 api/search/classes_0.js                         |     4 +
 api/search/classes_1.html                       |    26 +
 api/search/classes_1.js                         |    11 +
 api/search/classes_10.html                      |    26 +
 api/search/classes_10.js                        |    78 +
 api/search/classes_11.html                      |    26 +
 api/search/classes_11.js                        |    91 +
 api/search/classes_12.html                      |    26 +
 api/search/classes_12.js                        |    20 +
 api/search/classes_13.html                      |    26 +
 api/search/classes_13.js                        |    54 +
 api/search/classes_14.html                      |    26 +
 api/search/classes_14.js                        |     6 +
 api/search/classes_15.html                      |    26 +
 api/search/classes_15.js                        |     4 +
 api/search/classes_2.html                       |    26 +
 api/search/classes_2.js                         |    21 +
 api/search/classes_3.html                       |    26 +
 api/search/classes_3.js                         |    35 +
 api/search/classes_4.html                       |    26 +
 api/search/classes_4.js                         |    16 +
 api/search/classes_5.html                       |    26 +
 api/search/classes_5.js                         |    44 +
 api/search/classes_6.html                       |    26 +
 api/search/classes_6.js                         |    12 +
 api/search/classes_7.html                       |    26 +
 api/search/classes_7.js                         |    19 +
 api/search/classes_8.html                       |    26 +
 api/search/classes_8.js                         |     4 +
 api/search/classes_9.html                       |    26 +
 api/search/classes_9.js                         |    13 +
 api/search/classes_a.html                       |    26 +
 api/search/classes_a.js                         |    11 +
 api/search/classes_b.html                       |    26 +
 api/search/classes_b.js                         |    28 +
 api/search/classes_c.html                       |    26 +
 api/search/classes_c.js                         |     7 +
 api/search/classes_d.html                       |    26 +
 api/search/classes_d.js                         |     5 +
 api/search/classes_e.html                       |    26 +
 api/search/classes_e.js                         |    73 +
 api/search/classes_f.html                       |    26 +
 api/search/classes_f.js                         |    22 +
 api/search/close.png                            |   Bin 0 -> 273 bytes
 api/search/defines_0.html                       |    26 +
 api/search/defines_0.js                         |    13 +
 api/search/enumvalues_0.html                    |    26 +
 api/search/enumvalues_0.js                      |     5 +
 api/search/files_0.html                         |    26 +
 api/search/files_0.js                           |     4 +
 api/search/files_1.html                         |    26 +
 api/search/files_1.js                           |    14 +
 api/search/functions_0.html                     |    26 +
 api/search/functions_0.js                       |     4 +
 api/search/functions_1.html                     |    26 +
 api/search/functions_1.js                       |    12 +
 api/search/functions_10.html                    |    26 +
 api/search/functions_10.js                      |    43 +
 api/search/functions_11.html                    |    26 +
 api/search/functions_11.js                      |    14 +
 api/search/functions_12.html                    |    26 +
 api/search/functions_12.js                      |    11 +
 api/search/functions_13.html                    |    26 +
 api/search/functions_13.js                      |     4 +
 api/search/functions_14.html                    |    26 +
 api/search/functions_14.js                      |     6 +
 api/search/functions_15.html                    |    26 +
 api/search/functions_15.js                      |     5 +
 api/search/functions_2.html                     |    26 +
 api/search/functions_2.js                       |     7 +
 api/search/functions_3.html                     |    26 +
 api/search/functions_3.js                       |    20 +
 api/search/functions_4.html                     |    26 +
 api/search/functions_4.js                       |    10 +
 api/search/functions_5.html                     |    26 +
 api/search/functions_5.js                       |     7 +
 api/search/functions_6.html                     |    26 +
 api/search/functions_6.js                       |     9 +
 api/search/functions_7.html                     |    26 +
 api/search/functions_7.js                       |     7 +
 api/search/functions_8.html                     |    26 +
 api/search/functions_8.js                       |    10 +
 api/search/functions_9.html                     |    26 +
 api/search/functions_9.js                       |     7 +
 api/search/functions_a.html                     |    26 +
 api/search/functions_a.js                       |     5 +
 api/search/functions_b.html                     |    26 +
 api/search/functions_b.js                       |    13 +
 api/search/functions_c.html                     |    26 +
 api/search/functions_c.js                       |     8 +
 api/search/functions_d.html                     |    26 +
 api/search/functions_d.js                       |    15 +
 api/search/functions_e.html                     |    26 +
 api/search/functions_e.js                       |    23 +
 api/search/functions_f.html                     |    26 +
 api/search/functions_f.js                       |    21 +
 api/search/mag_sel.png                          |   Bin 0 -> 563 bytes
 api/search/namespaces_0.html                    |    26 +
 api/search/namespaces_0.js                      |    11 +
 api/search/nomatches.html                       |    12 +
 api/search/search.css                           |   271 +
 api/search/search.js                            |   809 +
 api/search/search_l.png                         |   Bin 0 -> 604 bytes
 api/search/search_m.png                         |   Bin 0 -> 158 bytes
 api/search/search_r.png                         |   Bin 0 -> 612 bytes
 api/search/typedefs_0.html                      |    26 +
 api/search/typedefs_0.js                        |     4 +
 api/search/typedefs_1.html                      |    26 +
 api/search/typedefs_1.js                        |     4 +
 api/search/typedefs_2.html                      |    26 +
 api/search/typedefs_2.js                        |     4 +
 api/search/typedefs_3.html                      |    26 +
 api/search/typedefs_3.js                        |     4 +
 api/search/variables_0.html                     |    26 +
 api/search/variables_0.js                       |     4 +
 api/search/variables_1.html                     |    26 +
 api/search/variables_1.js                       |     4 +
 api/search/variables_2.html                     |    26 +
 api/search/variables_2.js                       |     7 +
 api/search/variables_3.html                     |    26 +
 api/search/variables_3.js                       |     4 +
 api/search/variables_4.html                     |    26 +
 api/search/variables_4.js                       |     4 +
 api/search/variables_5.html                     |    26 +
 api/search/variables_5.js                       |     8 +
 api/search/variables_6.html                     |    26 +
 api/search/variables_6.js                       |    23 +
 api/search/variables_7.html                     |    26 +
 api/search/variables_7.js                       |     5 +
 api/search/variables_8.html                     |    26 +
 api/search/variables_8.js                       |     4 +
 api/search/variables_9.html                     |    26 +
 api/search/variables_9.js                       |     8 +
 api/search/variables_a.html                     |    26 +
 api/search/variables_a.js                       |     4 +
 api/search/variables_b.html                     |    26 +
 api/search/variables_b.js                       |     8 +
 api/search/variables_c.html                     |    26 +
 api/search/variables_c.js                       |     4 +
 api/search/variables_d.html                     |    26 +
 api/search/variables_d.js                       |    11 +
 api/server_8h_source.html                       |   124 +
 api/singa-logo-small.png                        |   Bin 0 -> 43969 bytes
 api/singleton_8h_source.html                    |   141 +
 api/socket_8h_source.html                       |   208 +
 api/struct__LayerInfo-members.html              |   107 +
 api/struct__LayerInfo.html                      |   124 +
 api/structmshadow_1_1MapExpCPUEngine.html       |   106 +
 ...00_01dim_00_01E_00_01etype_01_4-members.html |   107 +
 ...00_01SV_00_01dim_00_01E_00_01etype_01_4.html |   116 +
 ...00_01dim_00_01E_00_01etype_01_4-members.html |   107 +
 ...00_01SV_00_01dim_00_01E_00_01etype_01_4.html |   116 +
 api/structmshadow_1_1Shape-members.html         |   120 +
 api/structmshadow_1_1Shape.html                 |   433 +
 api/structmshadow_1_1Tensor-members.html        |   133 +
 api/structmshadow_1_1Tensor.html                |   367 +
 api/structmshadow_1_1Tensor.png                 |   Bin 0 -> 2545 bytes
 ..._1Tensor_3_01Device_00_011_01_4-members.html |   132 +
 ...shadow_1_1Tensor_3_01Device_00_011_01_4.html |   216 +
 ...mshadow_1_1Tensor_3_01Device_00_011_01_4.png |   Bin 0 -> 1763 bytes
 api/structmshadow_1_1cpu-members.html           |   108 +
 api/structmshadow_1_1cpu.html                   |   128 +
 api/structmshadow_1_1expr_1_1BLASEngine.html    |   106 +
 ...expr_1_1BLASEngine_3_01cpu_01_4-members.html |   113 +
 ...adow_1_1expr_1_1BLASEngine_3_01cpu_01_4.html |   134 +
 ...expr_1_1BLASEngine_3_01gpu_01_4-members.html |   113 +
 ...adow_1_1expr_1_1BLASEngine_3_01gpu_01_4.html |   134 +
 ...mshadow_1_1expr_1_1BinaryMapExp-members.html |   111 +
 api/structmshadow_1_1expr_1_1BinaryMapExp.html  |   163 +
 api/structmshadow_1_1expr_1_1BinaryMapExp.png   |   Bin 0 -> 1333 bytes
 ...hadow_1_1expr_1_1Broadcast1DExp-members.html |   112 +
 ...structmshadow_1_1expr_1_1Broadcast1DExp.html |   174 +
 api/structmshadow_1_1expr_1_1Broadcast1DExp.png |   Bin 0 -> 2892 bytes
 ...ow_1_1expr_1_1ChannelPoolingExp-members.html |   113 +
 ...uctmshadow_1_1expr_1_1ChannelPoolingExp.html |   177 +
 ...ructmshadow_1_1expr_1_1ChannelPoolingExp.png |   Bin 0 -> 2918 bytes
 ...tmshadow_1_1expr_1_1CroppingExp-members.html |   116 +
 api/structmshadow_1_1expr_1_1CroppingExp.html   |   188 +
 api/structmshadow_1_1expr_1_1CroppingExp.png    |   Bin 0 -> 2546 bytes
 ...uctmshadow_1_1expr_1_1DotEngine-members.html |   107 +
 api/structmshadow_1_1expr_1_1DotEngine.html     |   116 +
 ...alse_00_01transpose__right_01_4-members.html |   107 +
 ...2_00_01false_00_01transpose__right_01_4.html |   116 +
 ...0_011_00_01true_00_01false_01_4-members.html |   107 +
 ...00_011_00_011_00_01true_00_01false_01_4.html |   116 +
 ...left_00_01transpose__right_01_4-members.html |   107 +
 ...nspose__left_00_01transpose__right_01_4.html |   116 +
 ...structmshadow_1_1expr_1_1DotExp-members.html |   112 +
 api/structmshadow_1_1expr_1_1DotExp.html        |   167 +
 api/structmshadow_1_1expr_1_1DotExp.png         |   Bin 0 -> 1328 bytes
 api/structmshadow_1_1expr_1_1Exp-members.html   |   108 +
 api/structmshadow_1_1expr_1_1Exp.html           |   189 +
 ...dow_1_1expr_1_1ExpComplexEngine-members.html |   107 +
 ...ructmshadow_1_1expr_1_1ExpComplexEngine.html |   126 +
 ...01EType2de3ff1ee0626c2a6791a31097d4d067.html |   107 +
 ...01EType6898525bcb7b3d133be173eabbb64f99.html |   107 +
 ...3_01EType_00_01Reducer_00_010_01_4_01_4.html |   116 +
 ...01ETypeff38f24c2af0b97a027119d64099704c.html |   116 +
 ...sor_3_0d2749ba7c02c3255b394f980e81ccfd3.html |   116 +
 ...sor_3_0e031250a9087041cbf05bd351a094666.html |   107 +
 ...uctmshadow_1_1expr_1_1ExpEngine-members.html |   107 +
 api/structmshadow_1_1expr_1_1ExpEngine.html     |   127 +
 ...r_3_01Device_00_01dim_01_4_01_4-members.html |   109 +
 ..._01Tensor_3_01Device_00_01dim_01_4_01_4.html |   125 +
 ...tructmshadow_1_1expr_1_1ExpInfo-members.html |   108 +
 api/structmshadow_1_1expr_1_1ExpInfo.html       |   135 +
 ...TA_00_01TB_00_01etype_01_4_01_4-members.html |   110 +
 ...OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html |   149 +
 ..._00_01SrcExp_00_01dim_01_4_01_4-members.html |   109 +
 ...xp_3_01T_00_01SrcExp_00_01dim_01_4_01_4.html |   122 +
 ...r_1_1ExpInfo_3_01ScalarExp_01_4-members.html |   108 +
 ...w_1_1expr_1_1ExpInfo_3_01ScalarExp_01_4.html |   119 +
 ...r_3_01Device_00_01dim_01_4_01_4-members.html |   108 +
 ..._01Tensor_3_01Device_00_01dim_01_4_01_4.html |   119 +
 ...OP_00_01TA_00_01etype_01_4_01_4-members.html |   108 +
 ...Exp_3_01OP_00_01TA_00_01etype_01_4_01_4.html |   119 +
 ...shadow_1_1expr_1_1MakeTensorExp-members.html |   110 +
 api/structmshadow_1_1expr_1_1MakeTensorExp.html |   159 +
 api/structmshadow_1_1expr_1_1MakeTensorExp.png  |   Bin 0 -> 1511 bytes
 ...mshadow_1_1expr_1_1MirroringExp-members.html |   112 +
 api/structmshadow_1_1expr_1_1MirroringExp.html  |   172 +
 api/structmshadow_1_1expr_1_1MirroringExp.png   |   Bin 0 -> 2532 bytes
 ...w_1_1expr_1_1PackColToPatchXExp-members.html |   114 +
 ...ctmshadow_1_1expr_1_1PackColToPatchXExp.html |   182 +
 ...uctmshadow_1_1expr_1_1PackColToPatchXExp.png |   Bin 0 -> 2879 bytes
 ...ctmshadow_1_1expr_1_1PaddingExp-members.html |   115 +
 api/structmshadow_1_1expr_1_1PaddingExp.html    |   184 +
 api/structmshadow_1_1expr_1_1PaddingExp.png     |   Bin 0 -> 2548 bytes
 ...ce_00_01dimdst_00_010_01_4_01_4-members.html |   108 +
 ...3_01Device_00_01dimdst_00_010_01_4_01_4.html |   129 +
 ...01dimdst_00_01dimcast_01_4_01_4-members.html |   108 +
 ...vice_00_01dimdst_00_01dimcast_01_4_01_4.html |   129 +
 ..._01SrcExp_00_01srcdim_01_4_01_4-members.html |   108 +
 ...ducer_00_01SrcExp_00_01srcdim_01_4_01_4.html |   119 +
 ..._01SrcExp_00_01srcdim_01_4_01_4-members.html |   108 +
 ...ingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html |   119 +
 ..._00_01SrcExp_00_01dim_01_4_01_4-members.html |   108 +
 ...1SubType_00_01SrcExp_00_01dim_01_4_01_4.html |   119 +
 ..._01SrcExp_00_01srcdim_01_4_01_4-members.html |   108 +
 ...ingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html |   119 +
 ..._01Device_00_01dstdim_01_4_01_4-members.html |   108 +
 ...chXExp_3_01Device_00_01dstdim_01_4_01_4.html |   119 +
 ..._01SrcExp_00_01srcdim_01_4_01_4-members.html |   108 +
 ...ingExp_3_01SrcExp_00_01srcdim_01_4_01_4.html |   119 +
 ..._01SrcExp_00_01srcdim_01_4_01_4-members.html |   108 +
 ...ducer_00_01SrcExp_00_01srcdim_01_4_01_4.html |   119 +
 ...xp_00_01dimdst_00_011_01_4_01_4-members.html |   108 +
 ...3_01SrcExp_00_01dimdst_00_011_01_4_01_4.html |   119 +
 ..._01dimdst_00_01dimsrc_01_4_01_4-members.html |   108 +
 ...rcExp_00_01dimdst_00_01dimsrc_01_4_01_4.html |   119 +
 ...dimsrc_00_010_00_01a2_01_4_01_4-members.html |   108 +
 ...xp_00_01dimsrc_00_010_00_01a2_01_4_01_4.html |   119 +
 ...imsrc_00_01a1_00_01a2_01_4_01_4-members.html |   108 +
 ...p_00_01dimsrc_00_01a1_00_01a2_01_4_01_4.html |   119 +
 ...01Reducer_00_01Device_01_4_01_4-members.html |   108 +
 ...ngExp_3_01Reducer_00_01Device_01_4_01_4.html |   119 +
 ..._01SrcExp_00_01srcdim_01_4_01_4-members.html |   108 +
 ...olXExp_3_01SrcExp_00_01srcdim_01_4_01_4.html |   119 +
 ...ctmshadow_1_1expr_1_1PoolingExp-members.html |   117 +
 api/structmshadow_1_1expr_1_1PoolingExp.html    |   193 +
 api/structmshadow_1_1expr_1_1PoolingExp.png     |   Bin 0 -> 2727 bytes
 ...shadow_1_1expr_1_1ReduceTo1DExp-members.html |   111 +
 api/structmshadow_1_1expr_1_1ReduceTo1DExp.html |   164 +
 api/structmshadow_1_1expr_1_1ReduceTo1DExp.png  |   Bin 0 -> 1489 bytes
 ...ctmshadow_1_1expr_1_1ReshapeExp-members.html |   113 +
 api/structmshadow_1_1expr_1_1ReshapeExp.html    |   177 +
 api/structmshadow_1_1expr_1_1ReshapeExp.png     |   Bin 0 -> 2631 bytes
 ...shadow_1_1expr_1_1SSEAlignCheck-members.html |   107 +
 api/structmshadow_1_1expr_1_1SSEAlignCheck.html |   116 +
 ...pu_00_01dimdst_00_010_01_4_01_4-members.html |   107 +
 ...xp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html |   116 +
 ...TA_00_01TB_00_01etype_01_4_01_4-members.html |   107 +
 ...OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html |   116 +
 ...eck_3_01dim_00_01ScalarExp_01_4-members.html |   107 +
 ...EAlignCheck_3_01dim_00_01ScalarExp_01_4.html |   116 +
 ...nsor_3_01cpu_00_01dim_01_4_01_4-members.html |   107 +
 ..._00_01Tensor_3_01cpu_00_01dim_01_4_01_4.html |   116 +
 ...OP_00_01TA_00_01etype_01_4_01_4-members.html |   107 +
 ...Exp_3_01OP_00_01TA_00_01etype_01_4_01_4.html |   116 +
 ...ructmshadow_1_1expr_1_1SSECheck-members.html |   107 +
 api/structmshadow_1_1expr_1_1SSECheck.html      |   134 +
 ...TA_00_01TB_00_01etype_01_4_01_4-members.html |   107 +
 ...OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html |   116 +
 ...pu_00_01dimdst_00_010_01_4_01_4-members.html |   107 +
 ...xp_3_01cpu_00_01dimdst_00_010_01_4_01_4.html |   116 +
 ..._1_1SSECheck_3_01ScalarExp_01_4-members.html |   107 +
 ..._1_1expr_1_1SSECheck_3_01ScalarExp_01_4.html |   116 +
 ...nsor_3_01cpu_00_01dim_01_4_01_4-members.html |   107 +
 ...k_3_01Tensor_3_01cpu_00_01dim_01_4_01_4.html |   116 +
 ...OP_00_01TA_00_01etype_01_4_01_4-members.html |   107 +
 ...Exp_3_01OP_00_01TA_00_01etype_01_4_01_4.html |   116 +
 ...uctmshadow_1_1expr_1_1ScalarExp-members.html |   110 +
 api/structmshadow_1_1expr_1_1ScalarExp.html     |   146 +
 api/structmshadow_1_1expr_1_1ScalarExp.png      |   Bin 0 -> 1036 bytes
 ...ctmshadow_1_1expr_1_1ShapeCheck-members.html |   107 +
 api/structmshadow_1_1expr_1_1ShapeCheck.html    |   116 +
 ...TA_00_01TB_00_01etype_01_4_01_4-members.html |   107 +
 ...OP_00_01TA_00_01TB_00_01etype_01_4_01_4.html |   116 +
 ..._00_01SrcExp_00_01dim_01_4_01_4-members.html |   107 +
 ...xp_3_01T_00_01SrcExp_00_01dim_01_4_01_4.html |   116 +
 ...eck_3_01dim_00_01ScalarExp_01_4-members.html |   107 +
 ...1ShapeCheck_3_01dim_00_01ScalarExp_01_4.html |   116 +
 ...r_3_01Device_00_01dim_01_4_01_4-members.html |   107 +
 ..._01Tensor_3_01Device_00_01dim_01_4_01_4.html |   116 +
 ...OP_00_01TA_00_01etype_01_4_01_4-members.html |   107 +
 ...Exp_3_01OP_00_01TA_00_01etype_01_4_01_4.html |   116 +
 ...tmshadow_1_1expr_1_1SwapAxisExp-members.html |   112 +
 api/structmshadow_1_1expr_1_1SwapAxisExp.html   |   174 +
 api/structmshadow_1_1expr_1_1SwapAxisExp.png    |   Bin 0 -> 2705 bytes
 ...mshadow_1_1expr_1_1TransposeExp-members.html |   111 +
 api/structmshadow_1_1expr_1_1TransposeExp.html  |   153 +
 api/structmshadow_1_1expr_1_1TransposeExp.png   |   Bin 0 -> 1236 bytes
 ...uctmshadow_1_1expr_1_1TypeCheck-members.html |   110 +
 api/structmshadow_1_1expr_1_1TypeCheck.html     |   139 +
 api/structmshadow_1_1expr_1_1TypeCheckPass.html |   106 +
 ...1_1expr_1_1TypeCheckPass_3_01false_01_4.html |   106 +
 ..._1_1TypeCheckPass_3_01true_01_4-members.html |   109 +
 ..._1_1expr_1_1TypeCheckPass_3_01true_01_4.html |   122 +
 ...mshadow_1_1expr_1_1UnPoolingExp-members.html |   116 +
 api/structmshadow_1_1expr_1_1UnPoolingExp.html  |   189 +
 api/structmshadow_1_1expr_1_1UnPoolingExp.png   |   Bin 0 -> 2733 bytes
 ...tmshadow_1_1expr_1_1UnaryMapExp-members.html |   110 +
 api/structmshadow_1_1expr_1_1UnaryMapExp.html   |   158 +
 api/structmshadow_1_1expr_1_1UnaryMapExp.png    |   Bin 0 -> 1256 bytes
 ...1_1expr_1_1UnpackPatchToColXExp-members.html |   117 +
 ...mshadow_1_1expr_1_1UnpackPatchToColXExp.html |   192 +
 ...tmshadow_1_1expr_1_1UnpackPatchToColXExp.png |   Bin 0 -> 2788 bytes
 api/structmshadow_1_1gpu-members.html           |   108 +
 api/structmshadow_1_1gpu.html                   |   128 +
 api/structmshadow_1_1op_1_1bnll-members.html    |   107 +
 api/structmshadow_1_1op_1_1bnll.html            |   116 +
 ...ructmshadow_1_1op_1_1bnll__grad-members.html |   107 +
 api/structmshadow_1_1op_1_1bnll__grad.html      |   116 +
 api/structmshadow_1_1op_1_1div-members.html     |   107 +
 api/structmshadow_1_1op_1_1div.html             |   124 +
 ...structmshadow_1_1op_1_1identity-members.html |   107 +
 api/structmshadow_1_1op_1_1identity.html        |   124 +
 api/structmshadow_1_1op_1_1minus-members.html   |   107 +
 api/structmshadow_1_1op_1_1minus.html           |   124 +
 api/structmshadow_1_1op_1_1mul-members.html     |   107 +
 api/structmshadow_1_1op_1_1mul.html             |   124 +
 api/structmshadow_1_1op_1_1plus-members.html    |   107 +
 api/structmshadow_1_1op_1_1plus.html            |   124 +
 api/structmshadow_1_1op_1_1power-members.html   |   107 +
 api/structmshadow_1_1op_1_1power.html           |   123 +
 api/structmshadow_1_1op_1_1relu-members.html    |   107 +
 api/structmshadow_1_1op_1_1relu.html            |   123 +
 ...ructmshadow_1_1op_1_1relu__grad-members.html |   107 +
 api/structmshadow_1_1op_1_1relu__grad.html      |   116 +
 api/structmshadow_1_1op_1_1right-members.html   |   107 +
 api/structmshadow_1_1op_1_1right.html           |   124 +
 api/structmshadow_1_1op_1_1sigmoid-members.html |   107 +
 api/structmshadow_1_1op_1_1sigmoid.html         |   116 +
 ...tmshadow_1_1op_1_1sigmoid__grad-members.html |   107 +
 api/structmshadow_1_1op_1_1sigmoid__grad.html   |   116 +
 ...structmshadow_1_1op_1_1softplus-members.html |   107 +
 api/structmshadow_1_1op_1_1softplus.html        |   116 +
 ...mshadow_1_1op_1_1softplus__grad-members.html |   107 +
 api/structmshadow_1_1op_1_1softplus__grad.html  |   116 +
 api/structmshadow_1_1op_1_1sqrtop-members.html  |   107 +
 api/structmshadow_1_1op_1_1sqrtop.html          |   116 +
 api/structmshadow_1_1op_1_1square-members.html  |   107 +
 api/structmshadow_1_1op_1_1square.html          |   116 +
 api/structmshadow_1_1op_1_1stanh-members.html   |   107 +
 api/structmshadow_1_1op_1_1stanh.html           |   123 +
 ...uctmshadow_1_1op_1_1stanh__grad-members.html |   107 +
 api/structmshadow_1_1op_1_1stanh__grad.html     |   120 +
 api/structmshadow_1_1op_1_1tanh-members.html    |   107 +
 api/structmshadow_1_1op_1_1tanh.html            |   116 +
 ...ructmshadow_1_1op_1_1tanh__grad-members.html |   107 +
 api/structmshadow_1_1op_1_1tanh__grad.html      |   116 +
 ...tructmshadow_1_1op_1_1threshold-members.html |   107 +
 api/structmshadow_1_1op_1_1threshold.html       |   123 +
 ...structmshadow_1_1red_1_1maximum-members.html |   109 +
 api/structmshadow_1_1red_1_1maximum.html        |   136 +
 api/structmshadow_1_1red_1_1sum-members.html    |   109 +
 api/structmshadow_1_1red_1_1sum.html            |   136 +
 api/structmshadow_1_1sse2_1_1FVec.html          |   122 +
 ...1_1sse2_1_1FVec_3_01double_01_4-members.html |   115 +
 ...mshadow_1_1sse2_1_1FVec_3_01double_01_4.html |   164 +
 ..._1_1sse2_1_1FVec_3_01float_01_4-members.html |   115 +
 ...tmshadow_1_1sse2_1_1FVec_3_01float_01_4.html |   164 +
 api/structmshadow_1_1sse2_1_1SSEOp-members.html |   107 +
 api/structmshadow_1_1sse2_1_1SSEOp.html         |   126 +
 ...se2_1_1SSEOp_3_01op_1_1div_01_4-members.html |   109 +
 ...dow_1_1sse2_1_1SSEOp_3_01op_1_1div_01_4.html |   128 +
 ..._1SSEOp_3_01op_1_1identity_01_4-members.html |   109 +
 ..._1sse2_1_1SSEOp_3_01op_1_1identity_01_4.html |   128 +
 ...2_1_1SSEOp_3_01op_1_1minus_01_4-members.html |   109 +
 ...w_1_1sse2_1_1SSEOp_3_01op_1_1minus_01_4.html |   128 +
 ...se2_1_1SSEOp_3_01op_1_1mul_01_4-members.html |   109 +
 ...dow_1_1sse2_1_1SSEOp_3_01op_1_1mul_01_4.html |   128 +
 ...e2_1_1SSEOp_3_01op_1_1plus_01_4-members.html |   109 +
 ...ow_1_1sse2_1_1SSEOp_3_01op_1_1plus_01_4.html |   128 +
 api/structmshadow_1_1sse2_1_1Saver-members.html |   107 +
 api/structmshadow_1_1sse2_1_1Saver.html         |   116 +
 ...01sv_1_1saveto_00_01TFloat_01_4-members.html |   107 +
 ...Saver_3_01sv_1_1saveto_00_01TFloat_01_4.html |   116 +
 api/structmshadow_1_1sv_1_1divto-members.html   |   108 +
 api/structmshadow_1_1sv_1_1divto.html           |   132 +
 api/structmshadow_1_1sv_1_1minusto-members.html |   110 +
 api/structmshadow_1_1sv_1_1minusto.html         |   144 +
 api/structmshadow_1_1sv_1_1multo-members.html   |   108 +
 api/structmshadow_1_1sv_1_1multo.html           |   132 +
 api/structmshadow_1_1sv_1_1plusto-members.html  |   110 +
 api/structmshadow_1_1sv_1_1plusto.html          |   144 +
 api/structmshadow_1_1sv_1_1saveto-members.html  |   110 +
 api/structmshadow_1_1sv_1_1saveto.html          |   144 +
 ...r1_1_1gtest__internal_1_1AddRef-members.html |   107 +
 ...std_1_1tr1_1_1gtest__internal_1_1AddRef.html |   116 +
 ...ernal_1_1AddRef_3_01T_01_6_01_4-members.html |   107 +
 ...est__internal_1_1AddRef_3_01T_01_6_01_4.html |   116 +
 ...tr1_1_1gtest__internal_1_1ByRef-members.html |   107 +
 ...tstd_1_1tr1_1_1gtest__internal_1_1ByRef.html |   116 +
 ...ternal_1_1ByRef_3_01T_01_6_01_4-members.html |   107 +
 ...test__internal_1_1ByRef_3_01T_01_6_01_4.html |   116 +
 ...ternal_1_1SameSizeTuplePrefixComparator.html |   106 +
 ...fixComparator_3_010_00_010_01_4-members.html |   107 +
 ...TuplePrefixComparator_3_010_00_010_01_4.html |   117 +
 ...fixComparator_3_01k_00_01k_01_4-members.html |   107 +
 ...TuplePrefixComparator_3_01k_00_01k_01_4.html |   117 +
 ...1tr1_1_1gtest__internal_1_1TupleElement.html |   106 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...010_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...011_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...012_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...013_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...014_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...015_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...016_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...017_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...018_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...019_00_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 api/structstd_1_1tr1_1_1tuple__element.html     |   106 +
 api/structstd_1_1tr1_1_1tuple__size.html        |   106 +
 ...01GTEST__0__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__0__TUPLE___07T_08_01_4.html |   116 +
 ...1GTEST__10__TUPLE___07T_08_01_4-members.html |   107 +
 ...size_3_01GTEST__10__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__1__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__1__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__2__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__2__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__3__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__3__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__4__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__4__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__5__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__5__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__6__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__6__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__7__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__7__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__8__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__8__TUPLE___07T_08_01_4.html |   116 +
 ...01GTEST__9__TUPLE___07T_08_01_4-members.html |   107 +
 ..._size_3_01GTEST__9__TUPLE___07T_08_01_4.html |   116 +
 ...ing_1_1internal_1_1AddReference-members.html |   107 +
 ...ructtesting_1_1internal_1_1AddReference.html |   116 +
 ...1_1AddReference_3_01T_01_6_01_4-members.html |   107 +
 ...nternal_1_1AddReference_3_01T_01_6_01_4.html |   116 +
 ...ucttesting_1_1internal_1_1CompileAssert.html |   106 +
 ..._1_1internal_1_1CompileAssertTypesEqual.html |   106 +
 ...mpileAssertTypesEqual_3_01T_00_01T_01_4.html |   106 +
 ...ing_1_1internal_1_1ConstCharPtr-members.html |   109 +
 ...ructtesting_1_1internal_1_1ConstCharPtr.html |   126 +
 api/structtesting_1_1internal_1_1EnableIf.html  |   106 +
 ...ernal_1_1EnableIf_3_01true_01_4-members.html |   107 +
 ...g_1_1internal_1_1EnableIf_3_01true_01_4.html |   116 +
 ...1internal_1_1IsAProtocolMessage-members.html |   108 +
 ...sting_1_1internal_1_1IsAProtocolMessage.html |   129 +
 ...esting_1_1internal_1_1IsAProtocolMessage.png |   Bin 0 -> 1924 bytes
 ...g_1_1internal_1_1IteratorTraits-members.html |   107 +
 ...cttesting_1_1internal_1_1IteratorTraits.html |   116 +
 ...1IteratorTraits_3_01T_01_5_01_4-members.html |   107 +
 ...ernal_1_1IteratorTraits_3_01T_01_5_01_4.html |   116 +
 ...rTraits_3_01const_01T_01_5_01_4-members.html |   107 +
 ...1IteratorTraits_3_01const_01T_01_5_01_4.html |   116 +
 ...ting_1_1internal_1_1RemoveConst-members.html |   107 +
 ...tructtesting_1_1internal_1_1RemoveConst.html |   116 +
 ...1RemoveConst_3_01const_01T[N]_4-members.html |   107 +
 ...ernal_1_1RemoveConst_3_01const_01T[N]_4.html |   116 +
 ...1RemoveConst_3_01const_01T_01_4-members.html |   107 +
 ...ernal_1_1RemoveConst_3_01const_01T_01_4.html |   116 +
 ..._1_1internal_1_1RemoveReference-members.html |   107 +
 ...ttesting_1_1internal_1_1RemoveReference.html |   116 +
 ...RemoveReference_3_01T_01_6_01_4-members.html |   107 +
 ...rnal_1_1RemoveReference_3_01T_01_6_01_4.html |   116 +
 ...1_1internal_1_1StaticAssertTypeEqHelper.html |   106 +
 ...ticAssertTypeEqHelper_3_01T_00_01T_01_4.html |   106 +
 ...esting_1_1internal_1_1TraceInfo-members.html |   109 +
 api/structtesting_1_1internal_1_1TraceInfo.html |   122 +
 ...1internal_1_1TuplePrefixPrinter-members.html |   108 +
 ...sting_1_1internal_1_1TuplePrefixPrinter.html |   121 +
 ..._1TuplePrefixPrinter_3_010_01_4-members.html |   108 +
 ...ternal_1_1TuplePrefixPrinter_3_010_01_4.html |   121 +
 ..._1TuplePrefixPrinter_3_011_01_4-members.html |   108 +
 ...ternal_1_1TuplePrefixPrinter_3_011_01_4.html |   121 +
 ...g_1_1internal_1_1bool__constant-members.html |   108 +
 ...cttesting_1_1internal_1_1bool__constant.html |   133 +
 ...ucttesting_1_1internal_1_1bool__constant.png |   Bin 0 -> 1234 bytes
 ...ting_1_1internal_1_1is__pointer-members.html |   108 +
 ...tructtesting_1_1internal_1_1is__pointer.html |   129 +
 ...structtesting_1_1internal_1_1is__pointer.png |   Bin 0 -> 838 bytes
 ..._1_1is__pointer_3_01T_01_5_01_4-members.html |   108 +
 ...internal_1_1is__pointer_3_01T_01_5_01_4.html |   129 +
 ...1internal_1_1is__pointer_3_01T_01_5_01_4.png |   Bin 0 -> 846 bytes
 api/sync_off.png                                |   Bin 0 -> 853 bytes
 api/sync_on.png                                 |   Bin 0 -> 845 bytes
 api/tab_a.png                                   |   Bin 0 -> 142 bytes
 api/tab_b.png                                   |   Bin 0 -> 169 bytes
 api/tab_h.png                                   |   Bin 0 -> 177 bytes
 api/tab_s.png                                   |   Bin 0 -> 184 bytes
 api/tabs.css                                    |    60 +
 api/tensor_8h.html                              |   234 +
 api/tensor_8h_source.html                       |   440 +
 api/tensor__base_8h.html                        |   278 +
 api/tensor__base_8h_source.html                 |   382 +
 api/tensor__container_8h.html                   |   127 +
 api/tensor__container_8h_source.html            |   233 +
 api/tensor__cpu-inl_8hpp.html                   |   173 +
 api/tensor__cpu-inl_8hpp_source.html            |   292 +
 api/tensor__expr_8h.html                        |   305 +
 api/tensor__expr_8h_source.html                 |   395 +
 api/tensor__expr__engine-inl_8hpp.html          |   225 +
 api/tensor__expr__engine-inl_8hpp_source.html   |   529 +
 api/tensor__expr__ext_8h.html                   |   296 +
 api/tensor__expr__ext_8h_source.html            |   898 +
 api/tensor__gpu-inl_8hpp.html                   |   154 +
 api/tensor__gpu-inl_8hpp_source.html            |   265 +
 api/tensor__io_8h.html                          |   153 +
 api/tensor__io_8h_source.html                   |   219 +
 api/tensor__random_8h.html                      |   131 +
 api/tensor__random_8h_source.html               |   317 +
 api/tensor__sse-inl_8hpp.html                   |   239 +
 api/tensor__sse-inl_8hpp_source.html            |   516 +
 api/trainer_8h_source.html                      |   133 +
 api/updater_8h_source.html                      |   181 +
 api/worker_8h_source.html                       |   241 +
 assets/file/h2o.txt                             |   171 +
 assets/file/singa.bak                           |   Bin 0 -> 1058941 bytes
 assets/file/singa.pdf                           |   Bin 0 -> 1392470 bytes
 assets/image/arch/arch1.jpg                     |   Bin 0 -> 103390 bytes
 assets/image/arch/arch1.png                     |   Bin 0 -> 49490 bytes
 assets/image/arch/arch2.jpg                     |   Bin 0 -> 62897 bytes
 assets/image/arch/arch2.png                     |   Bin 0 -> 19268 bytes
 assets/image/arch/arch3.jpg                     |   Bin 0 -> 62566 bytes
 assets/image/arch/arch3.png                     |   Bin 0 -> 20245 bytes
 assets/image/arch/arch4.jpg                     |   Bin 0 -> 77581 bytes
 assets/image/arch/arch4.png                     |   Bin 0 -> 28874 bytes
 assets/image/arch/comm.png                      |   Bin 0 -> 41749 bytes
 assets/image/arch/logical.jpg                   |   Bin 0 -> 97332 bytes
 assets/image/arch/logical.png                   |   Bin 0 -> 44666 bytes
 assets/image/code-structure/darray.jpg          |   Bin 0 -> 52385 bytes
 assets/image/code-structure/layer.jpg           |   Bin 0 -> 151715 bytes
 assets/image/code-structure/main.jpg            |   Bin 0 -> 78069 bytes
 assets/image/code-structure/threads.jpg         |   Bin 0 -> 221958 bytes
 assets/image/code-structure/type.jpg            |   Bin 0 -> 176348 bytes
 assets/image/code-structure/uml.jpg             |   Bin 0 -> 362618 bytes
 assets/image/code-structure/worker.jpg          |   Bin 0 -> 219573 bytes
 assets/image/conv-mnist-datap.png               |   Bin 0 -> 66865 bytes
 assets/image/conv-mnist-layerp.png              |   Bin 0 -> 91054 bytes
 assets/image/conv-mnist.png                     |   Bin 0 -> 13728 bytes
 assets/image/history/1server4threads-mlp.png    |   Bin 0 -> 8651 bytes
 assets/image/history/h2o-spark-worker.png       |   Bin 0 -> 13856 bytes
 assets/image/history/h2o-spark.png              |   Bin 0 -> 12819 bytes
 assets/image/history/h2o.png                    |   Bin 0 -> 31585 bytes
 assets/image/history/multicast.png              |   Bin 0 -> 33794 bytes
 assets/image/history/pm-topology.png            |   Bin 0 -> 62413 bytes
 assets/image/history/ps-framework.png           |   Bin 0 -> 17336 bytes
 assets/image/history/serverupdate.png           |   Bin 0 -> 18235 bytes
 assets/image/history/serverupdatecblas.png      |   Bin 0 -> 19449 bytes
 assets/image/incubator.png                      |   Bin 0 -> 10991 bytes
 assets/image/loss-time.png                      |   Bin 0 -> 18632 bytes
 assets/image/mlp.png                            |   Bin 0 -> 31473 bytes
 assets/image/msg-flow.png                       |   Bin 0 -> 52630 bytes
 assets/image/msg.png                            |   Bin 0 -> 3283 bytes
 assets/image/msg.svg                            |   113 +
 assets/image/singa-logo.png                     |   Bin 0 -> 336475 bytes
 assets/image/singa_logo.jpg                     |   Bin 0 -> 93990 bytes
 assets/image/singa_logo_square.jpg              |   Bin 0 -> 63890 bytes
 assets/image/software_stack.jpg                 |   Bin 0 -> 73625 bytes
 assets/image/test.svg                           |   112 +
 .../bootstrap/css/bootstrap-theme.min.css       |     7 +
 .../bootstrap-3/bootstrap/css/bootstrap.min.css |     7 +
 .../bootstrap/css/bs-sticky-footer.css          |    29 +
 .../fonts/glyphicons-halflings-regular.eot      |   Bin 0 -> 20290 bytes
 .../fonts/glyphicons-halflings-regular.svg      |   229 +
 .../fonts/glyphicons-halflings-regular.ttf      |   Bin 0 -> 41236 bytes
 .../fonts/glyphicons-halflings-regular.woff     |   Bin 0 -> 23292 bytes
 .../bootstrap-3/bootstrap/js/bootstrap.min.js   |     7 +
 assets/themes/bootstrap-3/css/style.css         |    79 +
 .../bootstrap/css/bootstrap.2.2.2.min.css       |   782 +
 .../img/glyphicons-halflings-white.png          |   Bin 0 -> 8777 bytes
 .../bootstrap/img/glyphicons-halflings.png      |   Bin 0 -> 12799 bytes
 assets/themes/twitter/css/favicon.ico           |   Bin 0 -> 15086 bytes
 assets/themes/twitter/css/style.css             |   128 +
 assets/themes/twitter/css/toc.css               |    42 +
 assets/themes/twitter/js/toc.js                 |    82 +
 atom.xml                                        |    28 +
 blog.html                                       |     9 +
 changelog.md                                    |    70 +
 community.md                                    |     9 +
 docs.html                                       |    11 +
 index.md                                        |    33 +
 pages.html                                      |    13 +
 privacy.md                                      |    37 +
 rss.xml                                         |    28 +
 sitemap.txt                                     |     8 +
 1384 files changed, 169670 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ca35be0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+_site

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/404.html
----------------------------------------------------------------------
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..6904bcd
--- /dev/null
+++ b/404.html
@@ -0,0 +1 @@
+Sorry this page does not exist =(

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/History.markdown
----------------------------------------------------------------------
diff --git a/History.markdown b/History.markdown
new file mode 100644
index 0000000..5ef89c1
--- /dev/null
+++ b/History.markdown
@@ -0,0 +1,16 @@
+## HEAD
+
+### Major Enhancements
+
+### Minor Enahncements
+  * Add `drafts` folder support (#167)
+  * Add `excerpt` support (#168)
+  * Create History.markdown to help project management (#169)
+
+### Bug Fixes
+
+### Site Enhancements
+
+### Compatibility updates
+  * Update `preview` task
+

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6a90c81
--- /dev/null
+++ b/README.md
@@ -0,0 +1,40 @@
+# Jekyll-Bootstrap
+
+The quickest way to start and publish your Jekyll powered blog. 100% compatible with GitHub pages
+
+## Usage
+
+For all usage and documentation please see: <http://jekyllbootstrap.com>
+
+## Version
+
+0.3.0 - stable and versioned using [semantic versioning](http://semver.org/).
+
+**NOTE:** 0.3.0 introduces a new theme which is not backwards compatible in the sense it won't _look_ like the old version.
+However, the actual API has not changed at all.
+You might want to run 0.3.0 in a branch to make sure you are ok with the theme design changes.
+
+## Contributing
+
+
+To contribute to the framework please make sure to checkout your branch based on `jb-development`!!
+This is very important as it allows me to accept your pull request without having to publish a public version release.
+
+Small, atomic Features, bugs, etc.
+Use the `jb-development` branch but note it will likely change fast as pull requests are accepted.
+Please rebase as often as possible when working.
+Work on small, atomic features/bugs to avoid upstream commits affecting/breaking your development work.
+
+For Big Features or major API extensions/edits:
+This is the one case where I'll accept pull-requests based off the master branch.
+This allows you to work in isolation but it means I'll have to manually merge your work into the next public release.
+Translation : it might take a bit longer so please be patient! (but sincerely thank you).
+
+**Jekyll-Bootstrap Documentation Website.**
+
+The documentation website at <http://jekyllbootstrap.com> is maintained at https://github.com/plusjade/jekyllbootstrap.com
+
+
+## License
+
+[MIT](http://opensource.org/licenses/MIT)


[46/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/bdwn.png
----------------------------------------------------------------------
diff --git a/api/bdwn.png b/api/bdwn.png
new file mode 100644
index 0000000..940a0b9
Binary files /dev/null and b/api/bdwn.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/blob_8h_source.html
----------------------------------------------------------------------
diff --git a/api/blob_8h_source.html b/api/blob_8h_source.html
new file mode 100644
index 0000000..78f425c
--- /dev/null
+++ b/api/blob_8h_source.html
@@ -0,0 +1,198 @@
+<!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.6"/>
+<title>Apache SINGA: /home/wangwei/program/asf/incubator-singa/include/utils/blob.h Source File</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="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 id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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="dir_6c391fc7db700cf41983872f39408b84.html">asf</a></li><li class="navelem"><a class="el" href="dir_13981ebe1996195cf5339def4a394399.html">incubator-singa</a></li><li class="navelem"><a class="el" href="dir_a20507fa2f2ddc21c47fdd32cfd67062.html">include</a></li><li class="navelem"><a class="el" href="dir_b3c0b766b89f59af8c2c245fcdc54977.html">utils</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">blob.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifndef INCLUDE_UTILS_BLOB_</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define INCLUDE_UTILS_BLOB_</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;glog/logging.h&gt;</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;proto/model.pb.h&quot;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">using</span> std::shared_ptr;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">using</span> std::vector;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define NOT_IMPLEMENTED LOG(FATAL) &lt;&lt; &quot;Not implemented function&quot;</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">void</span> MallocHost(<span class="keywordtype">void</span>** ptr, <span class="keywordtype">size_t</span> size) {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  *ptr = malloc(size);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;}</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> FreeHost(<span class="keywordtype">void</span>* ptr) {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  free(ptr);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;}</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSyncedMemory.html">   65</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSyncedMemory.html">SyncedMemory</a> {</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <a class="code" href="classSyncedMemory.html">SyncedMemory</a>()</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      : cpu_ptr_(NULL), gpu_ptr_(NULL), size_(0), head_(UNINITIALIZED),</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        own_cpu_data_(<span class="keyword">false</span>) {}</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classSyncedMemory.html">SyncedMemory</a>(<span class="keywordtype">size_t</span> size)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      : cpu_ptr_(NULL), gpu_ptr_(NULL), size_(size), head_(UNINITIALIZED),</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        own_cpu_data_(<span class="keyword">false</span>) {}</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  ~<a class="code" href="classSyncedMemory.html">SyncedMemory</a>();</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">void</span>* cpu_data();</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keywordtype">void</span> set_cpu_data(<span class="keywordtype">void</span>* data);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">void</span>* gpu_data();</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="keywordtype">void</span>* mutable_cpu_data();</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keywordtype">void</span>* mutable_gpu_data();</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">enum</span> SyncedHead { UNINITIALIZED, HEAD_AT_CPU, HEAD_AT_GPU, SYNCED };</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  SyncedHead head() { <span class="keywordflow">return</span> head_; }</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordtype">size_t</span> size() { <span class="keywordflow">return</span> size_; }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordtype">void</span> to_cpu();</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keywordtype">void</span> to_gpu();</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keywordtype">void</span>* cpu_ptr_;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keywordtype">void</span>* gpu_ptr_;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keywordtype">size_t</span> size_;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  SyncedHead head_;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keywordtype">bool</span> own_cpu_data_;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;};  <span class="comment">// class SyncedMemory</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Dtype&gt;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classBlob.html">   96</a></span>&#160;<span class="keyword">class </span><a class="code" href="classBlob.html">Blob</a> {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classBlob.html">Blob</a>(): count_(0), capacity_(0) {}</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <a class="code" href="classBlob.html">Blob</a>(<span class="keyword">const</span> vector&lt;int&gt;&amp;shape);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classBlob.html#a7161872dea41d5b062269fec75fe9838">Reshape</a>(<span class="keyword">const</span> vector&lt;int&gt;&amp; shape);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordtype">void</span> ReshapeLike(<span class="keyword">const</span> <a class="code" href="classBlob.html">Blob</a>&amp; other);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keyword">const</span> vector&lt;int&gt;&amp; shape()<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">return</span> shape_;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  }</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">inline</span> <span class="keywordtype">int</span> count()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> count_; }</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classBlob.html#a283b080c7a275e679bb6d94c1a400591">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classBlob.html">Blob&lt;Dtype&gt;</a>&amp; source, <span class="keywordtype">bool</span> <a class="code" href="namespacemshadow_1_1expr.html#a5a65c95414492a64bb51dbd0710fd9c7">reshape</a> = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keyword">inline</span> <span class="keyword">const</span> shared_ptr&lt;SyncedMemory&gt;&amp; data()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    CHECK(data_);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">return</span> data_;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keyword">const</span> Dtype* cpu_data() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keywordtype">void</span> set_cpu_data(Dtype* data);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keyword">const</span> Dtype* gpu_data() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  Dtype* mutable_cpu_data();</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  Dtype* mutable_gpu_data();</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="comment">/*</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">  void FromProto(const BlobProto&amp; proto);</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">  */</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordtype">void</span> ToProto(singa::BlobProto* proto) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  Dtype <a class="code" href="classBlob.html#a2418f1337d7d20cf5503111ce362f52d">asum_data</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  Dtype sum_data() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classBlob.html#ae1617a8210879355ea6d58e0677ec17a">ShareData</a>(<span class="keyword">const</span> <a class="code" href="classBlob.html">Blob</a>&amp; other);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordtype">void</span> Swap(<a class="code" href="classBlob.html">Blob</a>&amp; other);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  shared_ptr&lt;SyncedMemory&gt; data_;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  vector&lt;int&gt; shape_;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">int</span> count_;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keywordtype">int</span> capacity_;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;};  <span class="comment">// class Blob</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#endif // INCLUDE_UTILS_BLOB_</span></div>
+<div class="ttc" id="classBlob_html"><div class="ttname"><a href="classBlob.html">Blob</a></div><div class="ttdef"><b>Definition:</b> blob.h:96</div></div>
+<div class="ttc" id="classSyncedMemory_html"><div class="ttname"><a href="classSyncedMemory.html">SyncedMemory</a></div><div class="ttdoc">Manages memory allocation and synchronization between the host (CPU) and device (GPU). </div><div class="ttdef"><b>Definition:</b> blob.h:65</div></div>
+<div class="ttc" id="classBlob_html_ae1617a8210879355ea6d58e0677ec17a"><div class="ttname"><a href="classBlob.html#ae1617a8210879355ea6d58e0677ec17a">Blob::ShareData</a></div><div class="ttdeci">void ShareData(const Blob &amp;other)</div><div class="ttdoc">Set the data_ shared_ptr to point to the SyncedMemory holding the data_ of Blob other – useful in Lay...</div></div>
+<div class="ttc" id="classBlob_html_a2418f1337d7d20cf5503111ce362f52d"><div class="ttname"><a href="classBlob.html#a2418f1337d7d20cf5503111ce362f52d">Blob::asum_data</a></div><div class="ttdeci">Dtype asum_data() const </div><div class="ttdoc">Compute the sum of absolute values (L1 norm) of the data. </div></div>
+<div class="ttc" id="classBlob_html_a7161872dea41d5b062269fec75fe9838"><div class="ttname"><a href="classBlob.html#a7161872dea41d5b062269fec75fe9838">Blob::Reshape</a></div><div class="ttdeci">void Reshape(const vector&lt; int &gt; &amp;shape)</div><div class="ttdoc">Change the dimensions of the blob, allocating new memory if necessary. </div></div>
+<div class="ttc" id="classBlob_html_a283b080c7a275e679bb6d94c1a400591"><div class="ttname"><a href="classBlob.html#a283b080c7a275e679bb6d94c1a400591">Blob::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const Blob&lt; Dtype &gt; &amp;source, bool reshape=false)</div><div class="ttdoc">Copy from a source Blob. </div></div>
+<div class="ttc" id="namespacemshadow_1_1expr_html_a5a65c95414492a64bb51dbd0710fd9c7"><div class="ttname"><a href="namespacemshadow_1_1expr.html#a5a65c95414492a64bb51dbd0710fd9c7">mshadow::expr::reshape</a></div><div class="ttdeci">ReshapeExp&lt; SrcExp, dimdst, ExpInfo&lt; SrcExp &gt;::kDim &gt; reshape(const Exp&lt; SrcExp, etype &gt; &amp;src, Shape&lt; dimdst &gt; oshape)</div><div class="ttdoc">a expression that reshapes a tensor to another shape </div><div class="ttdef"><b>Definition:</b> tensor_expr_ext.h:406</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classASingleton-members.html
----------------------------------------------------------------------
diff --git a/api/classASingleton-members.html b/api/classASingleton-members.html
new file mode 100644
index 0000000..2c695b0
--- /dev/null
+++ b/api/classASingleton-members.html
@@ -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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ASingleton&lt; T, X &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classASingleton.html">ASingleton&lt; T, X &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Instance</b>() (defined in <a class="el" href="classASingleton.html">ASingleton&lt; T, X &gt;</a>)</td><td class="entry"><a class="el" href="classASingleton.html">ASingleton&lt; T, X &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Instance</b>(X x) (defined in <a class="el" href="classASingleton.html">ASingleton&lt; T, X &gt;</a>)</td><td class="entry"><a class="el" href="classASingleton.html">ASingleton&lt; T, X &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classASingleton.html
----------------------------------------------------------------------
diff --git a/api/classASingleton.html b/api/classASingleton.html
new file mode 100644
index 0000000..967db6a
--- /dev/null
+++ b/api/classASingleton.html
@@ -0,0 +1,125 @@
+<!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.6"/>
+<title>Apache SINGA: ASingleton&lt; T, X &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classASingleton-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">ASingleton&lt; T, X &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="classSingleton.html">Singleton</a> initiated with argument.  
+ <a href="classASingleton.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="singleton_8h_source.html">singleton.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ac2fe7edb6b16a6154bd81a5f8d61cce9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2fe7edb6b16a6154bd81a5f8d61cce9"></a>
+static T *&#160;</td><td class="memItemRight" valign="bottom"><b>Instance</b> ()</td></tr>
+<tr class="separator:ac2fe7edb6b16a6154bd81a5f8d61cce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24394eac155ed8cac64bf9b880855762"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24394eac155ed8cac64bf9b880855762"></a>
+static T *&#160;</td><td class="memItemRight" valign="bottom"><b>Instance</b> (X x)</td></tr>
+<tr class="separator:a24394eac155ed8cac64bf9b880855762"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T, typename X = int&gt;<br/>
+class ASingleton&lt; T, X &gt;</h3>
+
+<p><a class="el" href="classSingleton.html">Singleton</a> initiated with argument. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="singleton_8h_source.html">singleton.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classBlob-members.html
----------------------------------------------------------------------
diff --git a/api/classBlob-members.html b/api/classBlob-members.html
new file mode 100644
index 0000000..350d746
--- /dev/null
+++ b/api/classBlob-members.html
@@ -0,0 +1,124 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Blob&lt; Dtype &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classBlob.html#a2418f1337d7d20cf5503111ce362f52d">asum_data</a>() const </td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Blob</b>() (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Blob</b>(const vector&lt; int &gt; &amp;shape) (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>capacity_</b> (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classBlob.html#a283b080c7a275e679bb6d94c1a400591">CopyFrom</a>(const Blob&lt; Dtype &gt; &amp;source, bool reshape=false)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>count</b>() const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>count_</b> (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>cpu_data</b>() const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>data</b>() const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>data_</b> (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>gpu_data</b>() const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_cpu_data</b>() (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_gpu_data</b>() (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classBlob.html#a7161872dea41d5b062269fec75fe9838">Reshape</a>(const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReshapeLike</b>(const Blob &amp;other) (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_cpu_data</b>(Dtype *data) (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shape</b>() const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape_</b> (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classBlob.html#ae1617a8210879355ea6d58e0677ec17a">ShareData</a>(const Blob &amp;other)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>sum_data</b>() const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Swap</b>(Blob &amp;other) (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ToProto</b>(singa::BlobProto *proto) const  (defined in <a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a>)</td><td class="entry"><a class="el" href="classBlob.html">Blob&lt; Dtype &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classBlob.html
----------------------------------------------------------------------
diff --git a/api/classBlob.html b/api/classBlob.html
new file mode 100644
index 0000000..6f53b2f
--- /dev/null
+++ b/api/classBlob.html
@@ -0,0 +1,262 @@
+<!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.6"/>
+<title>Apache SINGA: Blob&lt; Dtype &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classBlob-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Blob&lt; Dtype &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:afa6f8b83284665011b323cbc224e8997"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa6f8b83284665011b323cbc224e8997"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Blob</b> (const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="separator:afa6f8b83284665011b323cbc224e8997"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7161872dea41d5b062269fec75fe9838"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBlob.html#a7161872dea41d5b062269fec75fe9838">Reshape</a> (const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:a7161872dea41d5b062269fec75fe9838"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the dimensions of the blob, allocating new memory if necessary.  <a href="#a7161872dea41d5b062269fec75fe9838">More...</a><br/></td></tr>
+<tr class="separator:a7161872dea41d5b062269fec75fe9838"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16c0fb27b89e2368f93f7511884471b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16c0fb27b89e2368f93f7511884471b0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ReshapeLike</b> (const <a class="el" href="classBlob.html">Blob</a> &amp;other)</td></tr>
+<tr class="separator:a16c0fb27b89e2368f93f7511884471b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30b80b373bbbcb008dc7dc8fc7fba18c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30b80b373bbbcb008dc7dc8fc7fba18c"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> () const </td></tr>
+<tr class="separator:a30b80b373bbbcb008dc7dc8fc7fba18c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42e1ed7459f88986893bea35b493269d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42e1ed7459f88986893bea35b493269d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>count</b> () const </td></tr>
+<tr class="separator:a42e1ed7459f88986893bea35b493269d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a283b080c7a275e679bb6d94c1a400591"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBlob.html#a283b080c7a275e679bb6d94c1a400591">CopyFrom</a> (const <a class="el" href="classBlob.html">Blob</a>&lt; Dtype &gt; &amp;source, bool reshape=false)</td></tr>
+<tr class="memdesc:a283b080c7a275e679bb6d94c1a400591"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy from a source <a class="el" href="classBlob.html">Blob</a>.  <a href="#a283b080c7a275e679bb6d94c1a400591">More...</a><br/></td></tr>
+<tr class="separator:a283b080c7a275e679bb6d94c1a400591"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0598550dcb7a4624b17618bbbce0dd9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0598550dcb7a4624b17618bbbce0dd9e"></a>
+const shared_ptr&lt; <a class="el" href="classSyncedMemory.html">SyncedMemory</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>data</b> () const </td></tr>
+<tr class="separator:a0598550dcb7a4624b17618bbbce0dd9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9d1752994ca91b0e57e863914ad914d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9d1752994ca91b0e57e863914ad914d"></a>
+const Dtype *&#160;</td><td class="memItemRight" valign="bottom"><b>cpu_data</b> () const </td></tr>
+<tr class="separator:ab9d1752994ca91b0e57e863914ad914d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b4ae7aecb3772d3538dd6d3dc02936e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b4ae7aecb3772d3538dd6d3dc02936e"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_cpu_data</b> (Dtype *data)</td></tr>
+<tr class="separator:a1b4ae7aecb3772d3538dd6d3dc02936e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a122850d3d43c234893cd25cea881d900"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a122850d3d43c234893cd25cea881d900"></a>
+const Dtype *&#160;</td><td class="memItemRight" valign="bottom"><b>gpu_data</b> () const </td></tr>
+<tr class="separator:a122850d3d43c234893cd25cea881d900"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae4df49d1604c7cb0b3a1df7dc82940a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae4df49d1604c7cb0b3a1df7dc82940a"></a>
+Dtype *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_cpu_data</b> ()</td></tr>
+<tr class="separator:aae4df49d1604c7cb0b3a1df7dc82940a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ad82113ee31d9a6546f6a71f9283f22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ad82113ee31d9a6546f6a71f9283f22"></a>
+Dtype *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_gpu_data</b> ()</td></tr>
+<tr class="separator:a9ad82113ee31d9a6546f6a71f9283f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a7378f1ef221245a4695d88b2d3b087"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a7378f1ef221245a4695d88b2d3b087"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>ToProto</b> (singa::BlobProto *proto) const </td></tr>
+<tr class="separator:a0a7378f1ef221245a4695d88b2d3b087"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2418f1337d7d20cf5503111ce362f52d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2418f1337d7d20cf5503111ce362f52d"></a>
+Dtype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBlob.html#a2418f1337d7d20cf5503111ce362f52d">asum_data</a> () const </td></tr>
+<tr class="memdesc:a2418f1337d7d20cf5503111ce362f52d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the sum of absolute values (L1 norm) of the data. <br/></td></tr>
+<tr class="separator:a2418f1337d7d20cf5503111ce362f52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04c2910de12ab10dd5040ccfe8da4dfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04c2910de12ab10dd5040ccfe8da4dfb"></a>
+Dtype&#160;</td><td class="memItemRight" valign="bottom"><b>sum_data</b> () const </td></tr>
+<tr class="separator:a04c2910de12ab10dd5040ccfe8da4dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1617a8210879355ea6d58e0677ec17a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBlob.html#ae1617a8210879355ea6d58e0677ec17a">ShareData</a> (const <a class="el" href="classBlob.html">Blob</a> &amp;other)</td></tr>
+<tr class="memdesc:ae1617a8210879355ea6d58e0677ec17a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data_ shared_ptr to point to the <a class="el" href="classSyncedMemory.html" title="Manages memory allocation and synchronization between the host (CPU) and device (GPU). ">SyncedMemory</a> holding the data_ of <a class="el" href="classBlob.html">Blob</a> other &ndash; useful in Layer&amp;s which simply perform a copy in their Forward pass.  <a href="#ae1617a8210879355ea6d58e0677ec17a">More...</a><br/></td></tr>
+<tr class="separator:ae1617a8210879355ea6d58e0677ec17a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3d96c2279d884e9c8cecdfb56586ab9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3d96c2279d884e9c8cecdfb56586ab9"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Swap</b> (<a class="el" href="classBlob.html">Blob</a> &amp;other)</td></tr>
+<tr class="separator:ac3d96c2279d884e9c8cecdfb56586ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0468f6023394938200b5f9c1bfcfe7bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0468f6023394938200b5f9c1bfcfe7bd"></a>
+shared_ptr&lt; <a class="el" href="classSyncedMemory.html">SyncedMemory</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a0468f6023394938200b5f9c1bfcfe7bd"><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:a6b1407167297538ebd64433348ce42bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b1407167297538ebd64433348ce42bc"></a>
+vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>shape_</b></td></tr>
+<tr class="separator:a6b1407167297538ebd64433348ce42bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d9b7fb9e861e128ccab75272f8aa91d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d9b7fb9e861e128ccab75272f8aa91d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>count_</b></td></tr>
+<tr class="separator:a3d9b7fb9e861e128ccab75272f8aa91d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a344c9f8aee75b77210c548468c776cfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a344c9f8aee75b77210c548468c776cfb"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>capacity_</b></td></tr>
+<tr class="separator:a344c9f8aee75b77210c548468c776cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a283b080c7a275e679bb6d94c1a400591"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Dtype&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classBlob.html">Blob</a>&lt; Dtype &gt;::CopyFrom </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classBlob.html">Blob</a>&lt; Dtype &gt; &amp;&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>reshape</em> = <code>false</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Copy from a source <a class="el" href="classBlob.html">Blob</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source</td><td>the <a class="el" href="classBlob.html">Blob</a> to copy from </td></tr>
+    <tr><td class="paramname">reshape</td><td>if false, require this <a class="el" href="classBlob.html">Blob</a> to be pre-shaped to the shape of other (and die otherwise); if true, Reshape this <a class="el" href="classBlob.html">Blob</a> to other's shape if necessary </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7161872dea41d5b062269fec75fe9838"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Dtype&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classBlob.html">Blob</a>&lt; Dtype &gt;::Reshape </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Change the dimensions of the blob, allocating new memory if necessary. </p>
+<p>This function can be called both to create an initial allocation of memory, and to adjust the dimensions of a top blob during Layer::Reshape or Layer::Forward. When changing the size of blob, memory will only be reallocated if sufficient memory does not already exist, and excess memory will never be freed.</p>
+<p>Note that reshaping an input blob and immediately calling Net::Backward is an error; either Net::Forward or Net::Reshape need to be called to propagate the new input shape to higher layers. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae1617a8210879355ea6d58e0677ec17a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Dtype&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classBlob.html">Blob</a>&lt; Dtype &gt;::ShareData </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classBlob.html">Blob</a>&lt; Dtype &gt; &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set the data_ shared_ptr to point to the <a class="el" href="classSyncedMemory.html" title="Manages memory allocation and synchronization between the host (CPU) and device (GPU). ">SyncedMemory</a> holding the data_ of <a class="el" href="classBlob.html">Blob</a> other &ndash; useful in Layer&amp;s which simply perform a copy in their Forward pass. </p>
+<p>This deallocates the <a class="el" href="classSyncedMemory.html" title="Manages memory allocation and synchronization between the host (CPU) and device (GPU). ">SyncedMemory</a> holding this <a class="el" href="classBlob.html">Blob</a>'s data_, as shared_ptr calls its destructor when reset with the "=" operator. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="blob_8h_source.html">blob.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classFactory-members.html
----------------------------------------------------------------------
diff --git a/api/classFactory-members.html b/api/classFactory-members.html
new file mode 100644
index 0000000..fe30d19
--- /dev/null
+++ b/api/classFactory-members.html
@@ -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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Factory&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classFactory.html">Factory&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classFactory.html#a189b3b0277863783851b65fd7a00df59">Create</a>(const std::string id)</td><td class="entry"><a class="el" href="classFactory.html">Factory&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classFactory.html#adaddfc20babbc0454e409933ecf5803b">Register</a>(const std::string id, std::function&lt; T *(void)&gt; func)</td><td class="entry"><a class="el" href="classFactory.html">Factory&lt; T &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classFactory.html
----------------------------------------------------------------------
diff --git a/api/classFactory.html b/api/classFactory.html
new file mode 100644
index 0000000..e6e1c9f
--- /dev/null
+++ b/api/classFactory.html
@@ -0,0 +1,194 @@
+<!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.6"/>
+<title>Apache SINGA: Factory&lt; T &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classFactory-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Factory&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>factory template to generate class (or a sub-class) object based on id.  
+ <a href="classFactory.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="factory_8h_source.html">factory.h</a>&gt;</code></p>
+<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:adaddfc20babbc0454e409933ecf5803b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFactory.html#adaddfc20babbc0454e409933ecf5803b">Register</a> (const std::string id, std::function&lt; T *(void)&gt; func)</td></tr>
+<tr class="memdesc:adaddfc20babbc0454e409933ecf5803b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register functions to create user defined classes.  <a href="#adaddfc20babbc0454e409933ecf5803b">More...</a><br/></td></tr>
+<tr class="separator:adaddfc20babbc0454e409933ecf5803b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a189b3b0277863783851b65fd7a00df59"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFactory.html#a189b3b0277863783851b65fd7a00df59">Create</a> (const std::string id)</td></tr>
+<tr class="memdesc:a189b3b0277863783851b65fd7a00df59"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a layer instance by providing its type  <a href="#a189b3b0277863783851b65fd7a00df59">More...</a><br/></td></tr>
+<tr class="separator:a189b3b0277863783851b65fd7a00df59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br/>
+class Factory&lt; T &gt;</h3>
+
+<p>factory template to generate class (or a sub-class) object based on id. </p>
+<ol type="1">
+<li>register class creation function that generates a class object based on id.</li>
+<li>call <a class="el" href="classFactory.html#a189b3b0277863783851b65fd7a00df59" title="create a layer instance by providing its type ">Create()</a> func to call the creation function and return a pointer to the base calss. </li>
+</ol>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a189b3b0277863783851b65fd7a00df59"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">T * <a class="el" href="classFactory.html">Factory</a>&lt; T &gt;::Create </td>
+          <td>(</td>
+          <td class="paramtype">const std::string&#160;</td>
+          <td class="paramname"><em>id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>create a layer instance by providing its type </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">type</td><td>the identifier of the layer to be created </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="adaddfc20babbc0454e409933ecf5803b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classFactory.html">Factory</a>&lt; T &gt;::Register </td>
+          <td>(</td>
+          <td class="paramtype">const std::string&#160;</td>
+          <td class="paramname"><em>id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::function&lt; T *(void)&gt;&#160;</td>
+          <td class="paramname"><em>func</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Register functions to create user defined classes. </p>
+<p>This function is called by the REGISTER_FACTORY macro. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">id</td><td>identifier of the creating function/class </td></tr>
+    <tr><td class="paramname">create_function</td><td>a function that creates a layer instance </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="factory_8h_source.html">factory.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:37 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[55/57] incubator-singa git commit: add instructions for preview on github

Posted by wa...@apache.org.
add instructions for preview on github


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/3a891c27
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/3a891c27
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/3a891c27

Branch: refs/heads/gh-pages
Commit: 3a891c277b42bd6ed202616b4ae6d5d2512394e4
Parents: 6a79132
Author: wang wei <wa...@comp.nus.edu.sg>
Authored: Thu May 7 20:39:03 2015 +0800
Committer: wang wei <wa...@comp.nus.edu.sg>
Committed: Thu May 7 20:39:03 2015 +0800

----------------------------------------------------------------------
 README.md                              | 32 +++++++++++
 _posts/docs/2015-01-20-installation.md | 85 +++++++++++++++++++++++++++++
 2 files changed, 117 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/3a891c27/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 30b6805..006e40c 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,40 @@
 ## Edit and Preview the Website
 
+All documentations are written in Markdown format and located at _posts/.
+
+### Preview locally
+
+If you have installed Jekyll, then you can preview the website by
+
     jekyll serve --config _config.yml,_config-prod.yml
 
+### Preview on your own Github site
+
+If you do not have Jekyll installed on your own computer, then your can follow
+these steps to preview the website on you own Github site:
+
+ * fork SINGA to your own Github account from [https://github.com/apache/incubator-singa](https://github.com/apache/incubator-singa).
+ * clone SINGA from your Github to your local computer
+ * edit the content (e.g., add documentations)
+ * update the BASE_URL in _config.yml to "http://username.github.io/incubator-singa"
+ * commit and push to your own Github repo
+ * goto http://username.github.io/incubator-singa/
+
+## Submit to the Incubator-Singa repo
+
+After finishing updating the website, commiters can submit their commits as
+follows.
+**Make sure that you have changed back the BASE_URL to "/singa" if you have previewed.**
+it on your own Github site.
+
+    # done only once
+    git add upstream git://git.apache.org/incubator-singa.git
+
+    # done for every submit
+    git push upstream gh-pages
+
 ## License
+
 * We used Jekyll-Boostrap [MIT](http://opensource.org/licenses/MIT) to generate this website.
 * The source code except that from Jekyll-Boostrap is release under
 [Apache License 2](http://www.apache.org/licenses/LICENSE-2.0.html).

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/3a891c27/_posts/docs/2015-01-20-installation.md
----------------------------------------------------------------------
diff --git a/_posts/docs/2015-01-20-installation.md b/_posts/docs/2015-01-20-installation.md
index bdc1b28..b34b534 100644
--- a/_posts/docs/2015-01-20-installation.md
+++ b/_posts/docs/2015-01-20-installation.md
@@ -6,4 +6,89 @@ tags : [installation, examples]
 ---
 {% include JB/setup %}
 
+##Dependencies
 
+SINGA is developed and tested on Linux platforms with the following external libraries.
+
+  * gflags version 2.1.1, use the default setting for namespace (i.e., gflags).
+
+  * glog version 0.3.3.
+
+  * gtest version 1.7.0.
+
+  * google-protobuf version 2.6.0.
+
+  * openblas version >= 0.2.10.
+
+  * opencv version 2.4.9.
+
+  * zeromq version >= 3.2
+
+  * czmq version >= 3
+
+Tips:
+For libraries like openblas, opencv, older versions may also work, because we do not use any newly added features.
+
+
+##Building SINGA From Source
+
+The build system of SINGA is based on GNU autotools. To build singa, you need gcc version >= 4.8.
+The common steps to build SINGA can be:
+
+	1.Extract source files;
+	2.Run configure script to generate makefiles;
+	3.Build and install SINGA.
+
+On Unix-like systems with GNU Make as build tool, these build steps can be summarized by the following sequence of commands executed in a shell.
+
+	$ cd SINGA/FOLDER
+	$ ./configure
+	$ make
+	$ make install
+
+After executing above commands, SINGA library will be installed in the system default directory.
+If you want to specify your own installation directory, use the following command instead.
+
+	$ ./configure --prefix=/YOUR/OWN/FOLDER
+
+The result of configure script will indicate you whether there exist dependency missings in your system.
+If you do not install the dependencies, you can run the following commands.
+To download the thirdparty dependencies:
+
+	$ ./script/download.sh
+
+After downloading, to install the thirdparty dependencies:
+
+	$ cd thirdparty
+	$ ./install-dependencies.sh MISSING_LIBRARY_NAME1 YOUR_INSTALL_PATH1 MISSING_LIBRARY_NAME2 YOUR_INSTALL_PATH2 ...
+
+If you do not specify the installation path, the library will be installed in default folder.
+For example, if you want to build zeromq library in system folder and gflags in /usr/local, just run:
+
+	$ ./install-dependencies.sh zeromq gflags /usr/local
+
+Another example can be to install all dependencies in /usr/local directory:
+
+	$ ./install-dependencies.sh all /usr/local
+
+Here is a table showing the first arguments:
+
+	MISSING_LIBRARY_NAME	LIBRARIES
+	cmake					cmake tools
+	czmq*					czmq lib
+	gflags					gflags lib
+	glog					glog lib
+	lmdb					lmdb lib
+	OpenBLAS				OpenBLAS lib
+	opencv					OpenCV
+	protobuf				Google protobuf
+	zeromq					zeromq lib
+
+*: Since czmq depends on zeromq, the script offers you one more argument to indicate zeromq location.
+The installation commands of czmq can be:
+
+    $./install-dependencies.sh czmq  /usr/local /usr/local/zeromq
+
+After the execution, czmq will be installed in /usr/local while zeromq is installed in /usr/local/zeromq.
+
+## FAQ


[27/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LabelLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LabelLayer.html b/api/classsinga_1_1LabelLayer.html
new file mode 100644
index 0000000..76fdb36
--- /dev/null
+++ b/api/classsinga_1_1LabelLayer.html
@@ -0,0 +1,375 @@
+<!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.6"/>
+<title>Apache SINGA: singa::LabelLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LabelLayer.html">LabelLayer</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_1LabelLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::LabelLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::LabelLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1LabelLayer.png" usemap="#singa::LabelLayer_map" alt=""/>
+  <map id="singa::LabelLayer_map" name="singa::LabelLayer_map">
+<area href="classsinga_1_1ParserLayer.html" title="parse the input records into Blobs. " alt="singa::ParserLayer" shape="rect" coords="0,56,119,80"/>
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,119,24"/>
+</map>
+ </div></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:aa7cc5abb98cbe0d7066f8336dca384e2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LabelLayer.html#aa7cc5abb98cbe0d7066f8336dca384e2">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aa7cc5abb98cbe0d7066f8336dca384e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#aa7cc5abb98cbe0d7066f8336dca384e2">More...</a><br/></td></tr>
+<tr class="separator:aa7cc5abb98cbe0d7066f8336dca384e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fffae5ecc9a790c70510efec831c51f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1LabelLayer.html#a6fffae5ecc9a790c70510efec831c51f">ParseRecords</a> (bool training, const vector&lt; Record &gt; &amp;records, <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *blob)</td></tr>
+<tr class="memdesc:a6fffae5ecc9a790c70510efec831c51f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob.  <a href="#a6fffae5ecc9a790c70510efec831c51f">More...</a><br/></td></tr>
+<tr class="separator:a6fffae5ecc9a790c70510efec831c51f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1ParserLayer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1ParserLayer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1ParserLayer.html">singa::ParserLayer</a></td></tr>
+<tr class="memitem:ad87377303fd7e97ed5b2dbac20b2843a inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad87377303fd7e97ed5b2dbac20b2843a"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:ad87377303fd7e97ed5b2dbac20b2843a inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy function.  <a href="#afe2b6dd37ea96e7039ed24e93b28899b">More...</a><br/></td></tr>
+<tr class="separator:afe2b6dd37ea96e7039ed24e93b28899b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">Setup</a> ()</td></tr>
+<tr class="memdesc:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ad01d938a87aba0c7a6f8ccf0139bde4c">More...</a><br/></td></tr>
+<tr class="separator:ad01d938a87aba0c7a6f8ccf0139bde4c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1e22e31cb2cd0f09c40227ec7fd8c3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#abb1e22e31cb2cd0f09c40227ec7fd8c3">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:abb1e22e31cb2cd0f09c40227ec7fd8c3 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#a1340b2cf693aa48d823d12228900556b">More...</a><br/></td></tr>
+<tr class="separator:a1340b2cf693aa48d823d12228900556b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">partition_type</a> () const </td></tr>
+<tr class="memdesc:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#a67d78cafced1950980b54b0b6e302e87">More...</a><br/></td></tr>
+<tr class="separator:a67d78cafced1950980b54b0b6e302e87 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ee00445771065cc4bf569003a33e796 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr)</td></tr>
+<tr class="separator:a4ee00445771065cc4bf569003a33e796 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabeab9a2b4dd113a7271cfba39d83d82 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabeab9a2b4dd113a7271cfba39d83d82"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:aabeab9a2b4dd113a7271cfba39d83d82 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a346797e377211251ae5c268fca093c50">More...</a><br/></td></tr>
+<tr class="separator:a346797e377211251ae5c268fca093c50 inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#a617f1a2b0e7adfc0266e6fb3c0b1259b">Prefetching</a> (bool training)</td></tr>
+<tr class="memdesc:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">prefetching is transparent to parsing logics.  <a href="#a617f1a2b0e7adfc0266e6fb3c0b1259b">More...</a><br/></td></tr>
+<tr class="separator:a617f1a2b0e7adfc0266e6fb3c0b1259b inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2d822132b5bd7eba1fcd2fa605ee5c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ParserLayer.html#ade2d822132b5bd7eba1fcd2fa605ee5c">set_prefetch</a> (bool prefetch)</td></tr>
+<tr class="memdesc:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="mdescLeft">&#160;</td><td class="mdescRight">must be called before calling <a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature(bool)</a> if Prefetching runs in a separate thread <br/></td></tr>
+<tr class="separator:ade2d822132b5bd7eba1fcd2fa605ee5c inherit pub_methods_classsinga_1_1ParserLayer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6fffae5ecc9a790c70510efec831c51f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LabelLayer::ParseRecords </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; Record &gt; &amp;&#160;</td>
+          <td class="paramname"><em>records</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td>
+          <td class="paramname"><em>blob</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Parse records from <a class="el" href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. ">DataLayer</a> into blob. </p>
+<p>This function is called by <a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50" title="Compute features of this layer based on connected layers. ">ComputeFeature(bool, const vector&lt;SLayer&gt;&amp; srclayers)</a> or Prefetch(bool). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1ParserLayer.html#a9cca75c5b4b4b6aec618d694b008c02b">singa::ParserLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa7cc5abb98cbe0d7066f8336dca384e2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::LabelLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1ParserLayer.html#a2c6328bfd198d28854c61392dde05882">singa::ParserLayer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LabelLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LabelLayer.png b/api/classsinga_1_1LabelLayer.png
new file mode 100644
index 0000000..d1488f4
Binary files /dev/null and b/api/classsinga_1_1LabelLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Layer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Layer-members.html b/api/classsinga_1_1Layer-members.html
new file mode 100644
index 0000000..ab6ddd0
--- /dev/null
+++ b/api/classsinga_1_1Layer-members.html
@@ -0,0 +1,154 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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#aecbe8ed0ff294e40586678cef474ca42">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[26/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Layer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Layer.html b/api/classsinga_1_1Layer.html
new file mode 100644
index 0000000..81352d1
--- /dev/null
+++ b/api/classsinga_1_1Layer.html
@@ -0,0 +1,741 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></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<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Base layer class.  
+ <a href="classsinga_1_1Layer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::Layer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Layer.png" usemap="#singa::Layer_map" alt=""/>
+  <map id="singa::Layer_map" name="singa::Layer_map">
+<area href="classsinga_1_1BridgeDstLayer.html" title="For recv data from layer on other threads which may resident on other nodes due to layer/data partito..." alt="singa::BridgeDstLayer" shape="rect" coords="164,56,318,80"/>
+<area href="classsinga_1_1BridgeSrcLayer.html" title="For sending data to layer on other threads which may resident on other nodes due to layer/data partit..." alt="singa::BridgeSrcLayer" shape="rect" coords="164,112,318,136"/>
+<area href="classsinga_1_1ConcateLayer.html" title="Concate src layers on one dimension. " alt="singa::ConcateLayer" shape="rect" coords="164,168,318,192"/>
+<area href="classsinga_1_1ConvolutionLayer.html" title="Convolution layer. " alt="singa::ConvolutionLayer" shape="rect" coords="164,224,318,248"/>
+<area href="classsinga_1_1DataLayer.html" title="base layer for prefetching records from local Shard, HDFS, lmdb, etc. " alt="singa::DataLayer" shape="rect" coords="164,280,318,304"/>
+<area href="classsinga_1_1DropoutLayer.html" alt="singa::DropoutLayer" shape="rect" coords="164,336,318,360"/>
+<area href="classsinga_1_1InnerProductLayer.html" title="fully connected layer " alt="singa::InnerProductLayer" shape="rect" coords="164,392,318,416"/>
+<area href="classsinga_1_1LossLayer.html" title="Loss layer to calculate loss and other metrics, e.g., precison. " alt="singa::LossLayer" shape="rect" coords="164,448,318,472"/>
+<area href="classsinga_1_1LRNLayer.html" alt="singa::LRNLayer" shape="rect" coords="164,504,318,528"/>
+<area href="classsinga_1_1ParserLayer.html" title="parse the input records into Blobs. " alt="singa::ParserLayer" shape="rect" coords="164,560,318,584"/>
+<area href="classsinga_1_1PoolingLayer.html" alt="singa::PoolingLayer" shape="rect" coords="164,616,318,640"/>
+<area href="classsinga_1_1ReLULayer.html" alt="singa::ReLULayer" shape="rect" coords="164,672,318,696"/>
+<area href="classsinga_1_1SliceLayer.html" title="Slice this layer into multiple dst layers on one dimension. " alt="singa::SliceLayer" shape="rect" coords="164,728,318,752"/>
+<area href="classsinga_1_1SplitLayer.html" title="Replciate this layer into multiple dst layers. " alt="singa::SplitLayer" shape="rect" coords="164,784,318,808"/>
+<area href="classsinga_1_1TanhLayer.html" title="This layer apply Tan function to neuron activations. " alt="singa::TanhLayer" shape="rect" coords="164,840,318,864"/>
+</map>
+ </div></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:aeec3259af3b38227d4e3b3c5f5340573"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecbe8ed0ff294e40586678cef474ca42"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:aecbe8ed0ff294e40586678cef474ca42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#aecbe8ed0ff294e40586678cef474ca42">More...</a><br/></td></tr>
+<tr class="separator:aecbe8ed0ff294e40586678cef474ca42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8c911e3ca34f8c288eaddee263661aa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:af8c911e3ca34f8c288eaddee263661aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#af8c911e3ca34f8c288eaddee263661aa">More...</a><br/></td></tr>
+<tr class="separator:af8c911e3ca34f8c288eaddee263661aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e"><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:a9307fe49ca9fa70a77f00e262e51b58e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101"><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>Base layer class. </p>
+<p>Children should implement at least <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42" title="Setup layer properties. ">Layer::Setup</a>, <a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299" title="Compute features of this layer based on connected layers. ">Layer::ComputeFeature()</a>, Layer::ComputGradient() functions for backpropagation method; TODO(wangwei) implement children layers to support contrastive divergence, The identifier of each layer is the literal string of the class name without the suffix "Layer", which is used in layer registration and creation. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a11ef38d1bf31d054a96a1ac45fd49299"></a>
+<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::ComputeFeature </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>training</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute features of this layer based on connected layers. </p>
+<p>Implement forward propagation for BP; TODO Implement both postive phase and negative phase for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1ParserLayer.html#a346797e377211251ae5c268fca093c50">singa::ParserLayer</a>, <a class="el" href="classsinga_1_1DataLayer.html#a1764fa7801dd568e706beacf18d284b0">singa::DataLayer</a>, <a class="el" href="classsinga_1_1BridgeDstLayer.html#a16beb7c175217864bf2f75af016aa5ac">singa::BridgeDstLayer</a>, and <a class="el" href="classsinga_1_1BridgeSrcLayer.html#a6b6b652e2ae1b2c863b5143e07e9b6bf">singa::BridgeSrcLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7eb4b3141896bff0d7c423a24308fd63"></a>
+<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::ComputeGradient </td>
+          <td>(</td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compute gradients for parameters and connecting layers. </p>
+<p>Implement backward propagation for BP; TODO Calculate gradients for parameters for CD. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1ParserLayer.html#afe2b6dd37ea96e7039ed24e93b28899b">singa::ParserLayer</a>, <a class="el" href="classsinga_1_1DataLayer.html#a2ab6f424cb1838773bb16c94d6a585a5">singa::DataLayer</a>, <a class="el" href="classsinga_1_1BridgeDstLayer.html#ae55ce33799c5e7a2d6fcdbba83c94ae3">singa::BridgeDstLayer</a>, and <a class="el" href="classsinga_1_1BridgeSrcLayer.html#a54ce17eea86fb66db8984e13d1731f94">singa::BridgeSrcLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7e134c5b4a1a8e442626354d2d869caa"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual ConnectionType singa::Layer::connection_type </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em></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>return connection type between two layers. </p>
+<p>Currently support two connections: kOneToOne, and kOneToAll. kOneToOne indicates the dst neuron depends on only one neuron from src layer. kOneToAll indicates the dst neuron depends on all neurons from src layer. TODO support kOneToMany. </p>
+
+<p>Reimplemented in <a class="el" href="classsinga_1_1SoftmaxLossLayer.html#afdf930f5872db0c86d6f1fd944b338c3">singa::SoftmaxLossLayer</a>, <a class="el" href="classsinga_1_1InnerProductLayer.html#ae8f82011418b1e9c2c2f4c11d358c141">singa::InnerProductLayer</a>, and <a class="el" href="classsinga_1_1ConvolutionLayer.html#a2d02f88e6500f44a2df338ff23773709">singa::ConvolutionLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad443a1e7f957dad71fd0c9b356a53c20"></a>
+<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="classBlob.html">Blob</a>&lt;float&gt;&amp; singa::Layer::data </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></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">
+<dl class="section return"><dt>Returns</dt><dd>a const ref for <a class="el" href="classBlob.html">Blob</a> storing neuron values of this layer for BP </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classsinga_1_1SliceLayer.html#a635401ab1990f4dd97bf936cc6c61e71">singa::SliceLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aff0688e641c845aee9964a3d96172731"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual vector&lt;shared_ptr&lt;<a class="el" href="classsinga_1_1Param.html">Param</a>&gt; &gt; singa::Layer::GetParams </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 class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Layers that have paramters must overload this function. </p>
+<dl class="section return"><dt>Returns</dt><dd>parameters associated with this layer </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classsinga_1_1InnerProductLayer.html#acb8362b53f2d515c166af413d708d4d0">singa::InnerProductLayer</a>, and <a class="el" href="classsinga_1_1ConvolutionLayer.html#aa66cf441e0f6cd315113db2e09299a5b">singa::ConvolutionLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeec3259af3b38227d4e3b3c5f5340573"></a>
+<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::Init </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>simply save the proto configuation. </p>
+<p>most initializations are done by <a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335" title="Setup layer properties. ">Setup()</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">layer_proto</td><td>user defined layer configuration </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ad4936117ef7d58193726a966f796fafc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classBlob.html">Blob</a>&lt;float&gt;* singa::Layer::mutable_grad </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = <code>nullptr</code></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">
+<dl class="section return"><dt>Returns</dt><dd>a pointer to storing neuron grads of this layer for BP </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classsinga_1_1ParserLayer.html#a4ee00445771065cc4bf569003a33e796">singa::ParserLayer</a>, <a class="el" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">singa::LossLayer</a>, <a class="el" href="classsinga_1_1SliceLayer.html#a4022c8722eb9b77d8b774c8987c4cf7e">singa::SliceLayer</a>, and <a class="el" href="classsinga_1_1DataLayer.html#ae15c0c4720f0a070fcfc3416c1449a97">singa::DataLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a12d268e424e4affada0d5b85ea6d2359"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::Layer::partition_dimension </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>decide on which dimension to do the partitioning. </p>
+<p>kLayer, kData, kNone (no partition) </p>
+<dl class="section return"><dt>Returns</dt><dd>the partition dimension, -1 for no partition </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab3c0e1047f36e2fb783a6fd3d4eabd73"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual PartitionType singa::Layer::partition_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>return partition type of this layer. </p>
+<p>E.g., kNone, kLayer or kData </p>
+
+<p>Reimplemented in <a class="el" href="classsinga_1_1ParserLayer.html#a67d78cafced1950980b54b0b6e302e87">singa::ParserLayer</a>, <a class="el" href="classsinga_1_1DataLayer.html#a5ffcae36ddcc4a445b9a91b083b29d2b">singa::DataLayer</a>, and <a class="el" href="classsinga_1_1SoftmaxLossLayer.html#af36fdea88d2538cffbbe34a2930613a6">singa::SoftmaxLossLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aecbe8ed0ff294e40586678cef474ca42"></a>
+<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 LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1ParserLayer.html#a2c6328bfd198d28854c61392dde05882">singa::ParserLayer</a>, <a class="el" href="classsinga_1_1LossLayer.html#a16f16d5b289cb2d4bee9a9bee21e3b7c">singa::LossLayer</a>, <a class="el" href="classsinga_1_1SplitLayer.html#a5a03aaa4e7de6432b511fedb340b9250">singa::SplitLayer</a>, <a class="el" href="classsinga_1_1SliceLayer.html#a965d30f2b8ddb853b661671f73d7e8ea">singa::SliceLayer</a>, <a class="el" href="classsinga_1_1DataLayer.html#aad95cbeac929cdb9eeb7fb6e7996ac26">singa::DataLayer</a>, <a class="el" href="classsinga_1_1ConcateLayer.html#a160ffe17e1138034c7d9b8d61065412b">singa::ConcateLayer</a>, <a class="el" href="classsinga_1_1BridgeDstLayer.html#a8caa316af324395b766409dd8f8bcd15">singa::BridgeDstLayer</a>, <a class="el" href="classsinga_1_1TanhLayer.html#ae2f5b0d2f2ac2f304324795cf46151ef">singa::TanhLayer</a>, <a class="el" href="classsinga_1_1BridgeSrcLayer.html#a6bbe7d66a0c0e06b430f281b67e5ae92">singa::BridgeSrcLa
 yer</a>, <a class="el" href="classsinga_1_1LMDBDataLayer.html#a715e5072cbf8897531f88bb681698081">singa::LMDBDataLayer</a>, <a class="el" href="classsinga_1_1ShardDataLayer.html#a3dbc554bbed8a2515c3bb8b6948dd407">singa::ShardDataLayer</a>, <a class="el" href="classsinga_1_1RGBImageLayer.html#a578b92e4e894277790bf0d24b8bba9c7">singa::RGBImageLayer</a>, <a class="el" href="classsinga_1_1SoftmaxLossLayer.html#af92ba2d30039d508cada194a557067a7">singa::SoftmaxLossLayer</a>, <a class="el" href="classsinga_1_1ReLULayer.html#aa9bb1353ba3d064edd1f89d5918442aa">singa::ReLULayer</a>, <a class="el" href="classsinga_1_1PoolingLayer.html#a7d074abe2fb6fc0cf73e84eae80f269a">singa::PoolingLayer</a>, <a class="el" href="classsinga_1_1MnistImageLayer.html#a1dba251022584d60d12092481d162d04">singa::MnistImageLayer</a>, <a class="el" href="classsinga_1_1LRNLayer.html#aeec95bd635930c4d6b028119357fb0a1">singa::LRNLayer</a>, <a class="el" href="classsinga_1_1LabelLayer.html#aa7cc5abb98cbe0d7066f8336dca384e2"
 >singa::LabelLayer</a>, <a class="el" href="classsinga_1_1InnerProductLayer.html#aa63806b1ded9d752350ac01fb3a3aafb">singa::InnerProductLayer</a>, <a class="el" href="classsinga_1_1DropoutLayer.html#a3b2016cbb63ea661e3abef8dd0b392c9">singa::DropoutLayer</a>, and <a class="el" href="classsinga_1_1ConvolutionLayer.html#a4d942e8244380cc6f8471cfa5ffb933e">singa::ConvolutionLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae691995f08f16d01739f98b6d9bd0335"></a>
+<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="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Reimplemented in <a class="el" href="classsinga_1_1ParserLayer.html#ad01d938a87aba0c7a6f8ccf0139bde4c">singa::ParserLayer</a>, and <a class="el" href="classsinga_1_1DataLayer.html#a703368d1972e8343e0dea4acd93702ae">singa::DataLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af8c911e3ca34f8c288eaddee263661aa"></a>
+<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::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1ParserLayer.html#a1340b2cf693aa48d823d12228900556b">singa::ParserLayer</a>, <a class="el" href="classsinga_1_1LossLayer.html#adefb43c93a024c3b7fc558abc291dc49">singa::LossLayer</a>, <a class="el" href="classsinga_1_1SplitLayer.html#a949028cd476e463b6893fb9ff6c7d664">singa::SplitLayer</a>, <a class="el" href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">singa::SliceLayer</a>, <a class="el" href="classsinga_1_1DataLayer.html#a3c7b81249e522dd231a098ffed481496">singa::DataLayer</a>, <a class="el" href="classsinga_1_1ConcateLayer.html#a3781c4852c40650f6e20858929f60ffa">singa::ConcateLayer</a>, <a class="el" href="classsinga_1_1BridgeDstLayer.html#a90883d70214e4ac2e1afd2337531ef03">singa::BridgeDstLayer</a>, <a class="el" href="classsinga_1_1TanhLayer.html#ae828e79607c2abe9c0b73627b8ec0548">singa::TanhLayer</a>, <a class="el" href="classsinga_1_1BridgeSrcLayer.html#aa81a45289008df0334e66e6b639862a4">singa::BridgeSrcLa
 yer</a>, <a class="el" href="classsinga_1_1SoftmaxLossLayer.html#aceb8d0a51d606b0ac6bd4c13e77af01a">singa::SoftmaxLossLayer</a>, <a class="el" href="classsinga_1_1ReLULayer.html#ad3098f5e7619f7746e3ca6836e0fe979">singa::ReLULayer</a>, <a class="el" href="classsinga_1_1PoolingLayer.html#aa106d86ff430bd174d07adafccb79b82">singa::PoolingLayer</a>, <a class="el" href="classsinga_1_1LRNLayer.html#a1d272777844aee450b00ecb6a52ba49f">singa::LRNLayer</a>, <a class="el" href="classsinga_1_1InnerProductLayer.html#a5cb033a8fde53340e58d7408befc6698">singa::InnerProductLayer</a>, <a class="el" href="classsinga_1_1DropoutLayer.html#a51b6005a831bf92b3ed5107b96efe5e1">singa::DropoutLayer</a>, and <a class="el" href="classsinga_1_1ConvolutionLayer.html#a59cbc71b6a48e4dee7c87170161370f9">singa::ConvolutionLayer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa029c17a260a114802c46d9faa347b7f"></a>
+<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::ToProto </td>
+          <td>(</td>
+          <td class="paramtype">LayerProto *&#160;</td>
+          <td class="paramname"><em>layer_proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>copyData</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Marshal layer properties and data into google protobuf object (i.e., snapshot). </p>
+<p>Parameters are marshalled separately into another object (i.e., model). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">layer_proto</td><td></td></tr>
+    <tr><td class="paramname">copyData</td><td>if true marshal data of DArray </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Layer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Layer.png b/api/classsinga_1_1Layer.png
new file mode 100644
index 0000000..25e5238
Binary files /dev/null and b/api/classsinga_1_1Layer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1LossLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1LossLayer-members.html b/api/classsinga_1_1LossLayer-members.html
new file mode 100644
index 0000000..c1d7645
--- /dev/null
+++ b/api/classsinga_1_1LossLayer-members.html
@@ -0,0 +1,156 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1LossLayer.html">LossLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::LossLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</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>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>metric</b>() const  (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</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>metric_</b> (defined in <a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html#aaedd08096c3e1f2bae5cccf75cdf3382">mutable_grad</a>(const Layer *layer=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</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#abc76f037afc13a17ab07082cfae945de">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 bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1LossLayer.html#a16f16d5b289cb2d4bee9a9bee21e3b7c">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html#adefb43c93a024c3b7fc558abc291dc49">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1LossLayer.html">singa::LossLayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[10/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Worker-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Worker-members.html b/api/classsinga_1_1Worker-members.html
new file mode 100644
index 0000000..d20539b
--- /dev/null
+++ b/api/classsinga_1_1Worker-members.html
@@ -0,0 +1,140 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Worker.html">Worker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Worker Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af57fd6fd480a9daf414469d4e6849b0f">CheckpointNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Collect</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DisplayDebugInfo</b>(const int step) const  (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a15364c773523b09c03b00c3d9793dd57">DisplayNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Get</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>group_id_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_dealer_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_poller_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>modelproto_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>param_dealer_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>param_poller_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pmworker_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Put</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#ad7119a98731a8d63b3ba145b8cc7e171">ReceiveBlobs</a>(shared_ptr&lt; NeuralNet &gt; net)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989">Run</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af70362e1ae56e63adcbb666d8bef35c6">RunOneBatch</a>(int step, Performance *perf=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SendBlob</b>() (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_test_net</b>(shared_ptr&lt; NeuralNet &gt; test_net) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_validation_net</b>(shared_ptr&lt; NeuralNet &gt; val_net) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Setup</b>(const ModelProto &amp;model, shared_ptr&lt; NeuralNet &gt; train_net, shared_ptr&lt; PMWorker::ParamShard &gt; shard, shared_ptr&lt; Dealer &gt; layer_dealer, shared_ptr&lt; Dealer &gt; param_dealer) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>step_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a1599441b419bbe24d7ffabc5407dd37b">StopNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a817009e9eedd31d6cecb8f4c8d492df9">Test</a>(shared_ptr&lt; NeuralNet &gt; net, int nsteps, bool dispperf)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>test_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a46d34f350ff773b8fb45c5d8e7a1b86c">TestNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#aeaf30e08a1010cd8043298d122742f09">TestOneBatch</a>(shared_ptr&lt; NeuralNet &gt; net, int step, Phase phase)=0</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>train_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a62b15f701a0203635255479a4dd2e9bc">TrainOneBatch</a>(int step)=0</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Update</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a7a485609747a535fe880062848d11a92">ValidateNow</a>(const int step)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>validation_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Worker</b>(int group_id, int worker_id) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>worker_id_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Worker</b>() (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Worker.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Worker.html b/api/classsinga_1_1Worker.html
new file mode 100644
index 0000000..3dd7f82
--- /dev/null
+++ b/api/classsinga_1_1Worker.html
@@ -0,0 +1,507 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Worker 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Worker.html">Worker</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_1Worker-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Worker Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The <a class="el" href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. ">Worker</a> class which runs the training algorithm.  
+ <a href="classsinga_1_1Worker.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="worker_8h_source.html">worker.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::Worker:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Worker.png" usemap="#singa::Worker_map" alt=""/>
+  <map id="singa::Worker_map" name="singa::Worker_map">
+<area href="classsinga_1_1BPWorker.html" alt="singa::BPWorker" shape="rect" coords="0,56,105,80"/>
+</map>
+ </div></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:af453bff86049b2f07ea110130654aa39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af453bff86049b2f07ea110130654aa39"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Worker</b> (int group_id, int worker_id)</td></tr>
+<tr class="separator:af453bff86049b2f07ea110130654aa39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeaeb2893af5698d0469e74fa49534423"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaeb2893af5698d0469e74fa49534423"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (const ModelProto &amp;model, shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; train_net, shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">PMWorker::ParamShard</a> &gt; shard, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; layer_dealer, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; param_dealer)</td></tr>
+<tr class="separator:aeaeb2893af5698d0469e74fa49534423"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4bf7cc4f12a8f3dcbcce897bc7bc528"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4bf7cc4f12a8f3dcbcce897bc7bc528"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_test_net</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; test_net)</td></tr>
+<tr class="separator:aa4bf7cc4f12a8f3dcbcce897bc7bc528"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55c6895985166b5a92506cdc84532025"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c6895985166b5a92506cdc84532025"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_validation_net</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; val_net)</td></tr>
+<tr class="separator:a55c6895985166b5a92506cdc84532025"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d799c94ae2397ff86e7c95ce9b25477"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d799c94ae2397ff86e7c95ce9b25477"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Put</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a7d799c94ae2397ff86e7c95ce9b25477"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99c9da87f8f93ba661609c5b1257a7c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99c9da87f8f93ba661609c5b1257a7c0"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a99c9da87f8f93ba661609c5b1257a7c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a361796e7c92d18cfcd8245e3744b31c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a361796e7c92d18cfcd8245e3744b31c9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a361796e7c92d18cfcd8245e3744b31c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51307899005e044b3096dcdded84d837"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51307899005e044b3096dcdded84d837"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Collect</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a51307899005e044b3096dcdded84d837"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af70362e1ae56e63adcbb666d8bef35c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af70362e1ae56e63adcbb666d8bef35c6">RunOneBatch</a> (int step, <a class="el" href="classsinga_1_1Performance.html">Performance</a> *perf=nullptr)</td></tr>
+<tr class="memdesc:af70362e1ae56e63adcbb666d8bef35c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">check validation/test firstly, then TrainOneBatch <a class="el" href="classsinga_1_1Performance.html" title="Collecting metrics, like accuracy, loss, etc. ">Performance</a> collects performance for the whole neuralnet.  <a href="#af70362e1ae56e63adcbb666d8bef35c6">More...</a><br/></td></tr>
+<tr class="separator:af70362e1ae56e63adcbb666d8bef35c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62b15f701a0203635255479a4dd2e9bc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a62b15f701a0203635255479a4dd2e9bc">TrainOneBatch</a> (int step)=0</td></tr>
+<tr class="memdesc:a62b15f701a0203635255479a4dd2e9bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Train one mini-batch.  <a href="#a62b15f701a0203635255479a4dd2e9bc">More...</a><br/></td></tr>
+<tr class="separator:a62b15f701a0203635255479a4dd2e9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeaf30e08a1010cd8043298d122742f09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaf30e08a1010cd8043298d122742f09"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#aeaf30e08a1010cd8043298d122742f09">TestOneBatch</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step, Phase phase)=0</td></tr>
+<tr class="memdesc:aeaf30e08a1010cd8043298d122742f09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test/validate one mini-batch. <br/></td></tr>
+<tr class="separator:aeaf30e08a1010cd8043298d122742f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a817009e9eedd31d6cecb8f4c8d492df9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a817009e9eedd31d6cecb8f4c8d492df9">Test</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int nsteps, bool dispperf)</td></tr>
+<tr class="memdesc:a817009e9eedd31d6cecb8f4c8d492df9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test the perforance of the learned model on validation or test dataset.  <a href="#a817009e9eedd31d6cecb8f4c8d492df9">More...</a><br/></td></tr>
+<tr class="separator:a817009e9eedd31d6cecb8f4c8d492df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8d30de06d18aa5946ff553c419a6989"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989">Run</a> ()</td></tr>
+<tr class="memdesc:af8d30de06d18aa5946ff553c419a6989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function of <a class="el" href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. ">Worker</a>.  <a href="#af8d30de06d18aa5946ff553c419a6989">More...</a><br/></td></tr>
+<tr class="separator:af8d30de06d18aa5946ff553c419a6989"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15364c773523b09c03b00c3d9793dd57"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a15364c773523b09c03b00c3d9793dd57">DisplayNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a15364c773523b09c03b00c3d9793dd57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pull data from layers resident on other nodes due to Model Partition.  <a href="#a15364c773523b09c03b00c3d9793dd57">More...</a><br/></td></tr>
+<tr class="separator:a15364c773523b09c03b00c3d9793dd57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a162ea95ec3f467879b20fdcdc16fa96e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a162ea95ec3f467879b20fdcdc16fa96e"></a>
+const bool&#160;</td><td class="memItemRight" valign="bottom"><b>DisplayDebugInfo</b> (const int step) const </td></tr>
+<tr class="separator:a162ea95ec3f467879b20fdcdc16fa96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1599441b419bbe24d7ffabc5407dd37b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1599441b419bbe24d7ffabc5407dd37b"></a>
+const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a1599441b419bbe24d7ffabc5407dd37b">StopNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a1599441b419bbe24d7ffabc5407dd37b"><td class="mdescLeft">&#160;</td><td class="mdescRight">return true if the stop condition is satisfied, e.g., the maximum number of steps have been reached. <br/></td></tr>
+<tr class="separator:a1599441b419bbe24d7ffabc5407dd37b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af57fd6fd480a9daf414469d4e6849b0f"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af57fd6fd480a9daf414469d4e6849b0f">CheckpointNow</a> (const int step) const </td></tr>
+<tr class="memdesc:af57fd6fd480a9daf414469d4e6849b0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do checkpoint.  <a href="#af57fd6fd480a9daf414469d4e6849b0f">More...</a><br/></td></tr>
+<tr class="separator:af57fd6fd480a9daf414469d4e6849b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46d34f350ff773b8fb45c5d8e7a1b86c"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a46d34f350ff773b8fb45c5d8e7a1b86c">TestNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a46d34f350ff773b8fb45c5d8e7a1b86c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do test.  <a href="#a46d34f350ff773b8fb45c5d8e7a1b86c">More...</a><br/></td></tr>
+<tr class="separator:a46d34f350ff773b8fb45c5d8e7a1b86c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a485609747a535fe880062848d11a92"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a7a485609747a535fe880062848d11a92">ValidateNow</a> (const int step)</td></tr>
+<tr class="memdesc:a7a485609747a535fe880062848d11a92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do validation.  <a href="#a7a485609747a535fe880062848d11a92">More...</a><br/></td></tr>
+<tr class="separator:a7a485609747a535fe880062848d11a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7119a98731a8d63b3ba145b8cc7e171"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#ad7119a98731a8d63b3ba145b8cc7e171">ReceiveBlobs</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net)</td></tr>
+<tr class="memdesc:ad7119a98731a8d63b3ba145b8cc7e171"><td class="mdescLeft">&#160;</td><td class="mdescRight">start training from scratch.  <a href="#ad7119a98731a8d63b3ba145b8cc7e171">More...</a><br/></td></tr>
+<tr class="separator:ad7119a98731a8d63b3ba145b8cc7e171"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adff5681d83ef0bc6ecbd1eb322eccc99"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff5681d83ef0bc6ecbd1eb322eccc99"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>SendBlob</b> ()</td></tr>
+<tr class="separator:adff5681d83ef0bc6ecbd1eb322eccc99"><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:a96e5aeb1b3d9be29b5b5977d388cf1ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96e5aeb1b3d9be29b5b5977d388cf1ce"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_id_</b></td></tr>
+<tr class="separator:a96e5aeb1b3d9be29b5b5977d388cf1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac396851816f86c3ccb2e66c94468823d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac396851816f86c3ccb2e66c94468823d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>worker_id_</b></td></tr>
+<tr class="separator:ac396851816f86c3ccb2e66c94468823d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94782c6f00760500ac65e2eaea4a092b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94782c6f00760500ac65e2eaea4a092b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>step_</b></td></tr>
+<tr class="separator:a94782c6f00760500ac65e2eaea4a092b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24d7ebd724da0ceff08d1bbdacfe860c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24d7ebd724da0ceff08d1bbdacfe860c"></a>
+ModelProto&#160;</td><td class="memItemRight" valign="bottom"><b>modelproto_</b></td></tr>
+<tr class="separator:a24d7ebd724da0ceff08d1bbdacfe860c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac09b72e7a0cbb797559d49bad7cf4097"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac09b72e7a0cbb797559d49bad7cf4097"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html">PMWorker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pmworker_</b></td></tr>
+<tr class="separator:ac09b72e7a0cbb797559d49bad7cf4097"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecd59304a118afa5e06add08bbeca2cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecd59304a118afa5e06add08bbeca2cc"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>train_net_</b></td></tr>
+<tr class="separator:aecd59304a118afa5e06add08bbeca2cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad543a97767e7cb879a0d861aee933de6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad543a97767e7cb879a0d861aee933de6"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>test_net_</b></td></tr>
+<tr class="separator:ad543a97767e7cb879a0d861aee933de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab3b1ffc2c18ae47b3e0fba98a9a4553"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab3b1ffc2c18ae47b3e0fba98a9a4553"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>validation_net_</b></td></tr>
+<tr class="separator:aab3b1ffc2c18ae47b3e0fba98a9a4553"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2bbbc4c5c90c0969227b714f6e1485f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2bbbc4c5c90c0969227b714f6e1485f"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_dealer_</b></td></tr>
+<tr class="separator:ae2bbbc4c5c90c0969227b714f6e1485f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b8909722056e62da4dca4c52f82fbd1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b8909722056e62da4dca4c52f82fbd1"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_dealer_</b></td></tr>
+<tr class="separator:a1b8909722056e62da4dca4c52f82fbd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cd37cd37fb2f222cf8a565a6cc37299"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cd37cd37fb2f222cf8a565a6cc37299"></a>
+<a class="el" href="classsinga_1_1Poller.html">Poller</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layer_poller_</b></td></tr>
+<tr class="separator:a1cd37cd37fb2f222cf8a565a6cc37299"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c1a7a2d6ca1d90b4ac7e0837e7788a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c1a7a2d6ca1d90b4ac7e0837e7788a1"></a>
+<a class="el" href="classsinga_1_1Poller.html">Poller</a>&#160;</td><td class="memItemRight" valign="bottom"><b>param_poller_</b></td></tr>
+<tr class="separator:a9c1a7a2d6ca1d90b4ac7e0837e7788a1"><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 <a class="el" href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. ">Worker</a> class which runs the training algorithm. </p>
+<p>The first worker group will initialize parameters of the Net, and put them into the distributed memory/table. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="af57fd6fd480a9daf414469d4e6849b0f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const bool singa::Worker::CheckpointNow </td>
+          <td>(</td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>step</em></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>Check is it time to do checkpoint. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">step</td><td>the ::Train() has been called this num times. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a15364c773523b09c03b00c3d9793dd57"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const bool singa::Worker::DisplayNow </td>
+          <td>(</td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>step</em></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>Pull data from layers resident on other nodes due to Model Partition. </p>
+<p>void Pull(zsock_t* pull, shared_ptr&lt;NeuralNet&gt; net); Check is it time to display training info, e.g., loss and precison. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad7119a98731a8d63b3ba145b8cc7e171"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::Worker::ReceiveBlobs </td>
+          <td>(</td>
+          <td class="paramtype">shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td>
+          <td class="paramname"><em>net</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>start training from scratch. </p>
+<p>setup training/test/validation neuralnets, then call <a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989" title="Main function of Worker. ">Run()</a>. void Start(ModelProto model); TODO Resume from snapshot void Resume(); </p>
+
+</div>
+</div>
+<a class="anchor" id="af8d30de06d18aa5946ff553c419a6989"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::Worker::Run </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Main function of <a class="el" href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. ">Worker</a>. </p>
+<ol type="1">
+<li>Train the neuralnet step by step, test/validation is done periodically.</li>
+<li>TODO Communicate with others, e.g., zookeeper, after every step. </li>
+</ol>
+
+</div>
+</div>
+<a class="anchor" id="af70362e1ae56e63adcbb666d8bef35c6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::Worker::RunOneBatch </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>step</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classsinga_1_1Performance.html">Performance</a> *&#160;</td>
+          <td class="paramname"><em>perf</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>check validation/test firstly, then TrainOneBatch <a class="el" href="classsinga_1_1Performance.html" title="Collecting metrics, like accuracy, loss, etc. ">Performance</a> collects performance for the whole neuralnet. </p>
+<p>Hence, no need to collect performance in every thread. Only the main thread will pass none null perf. </p>
+
+</div>
+</div>
+<a class="anchor" id="a817009e9eedd31d6cecb8f4c8d492df9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::Worker::Test </td>
+          <td>(</td>
+          <td class="paramtype">shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td>
+          <td class="paramname"><em>net</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>nsteps</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>dispperf</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Test the perforance of the learned model on validation or test dataset. </p>
+<p>Test is done by the first group. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">net,neural</td><td>network </td></tr>
+    <tr><td class="paramname">phase</td><td>kValidation or kTest. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a46d34f350ff773b8fb45c5d8e7a1b86c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const bool singa::Worker::TestNow </td>
+          <td>(</td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>step</em></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>Check is it time to do test. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">step</td><td>the ::Train() has been called this num times. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a62b15f701a0203635255479a4dd2e9bc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::Worker::TrainOneBatch </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>step</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Train one mini-batch. </p>
+<p>Test/Validation is done before training. </p>
+
+<p>Implemented in <a class="el" href="classsinga_1_1BPWorker.html#afac1651ac5ea36b72f24bffbb9e43e76">singa::BPWorker</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7a485609747a535fe880062848d11a92"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const bool singa::Worker::ValidateNow </td>
+          <td>(</td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>step</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check is it time to do validation. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">step</td><td>the ::Train() has been called step times. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="worker_8h_source.html">worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Worker.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Worker.png b/api/classsinga_1_1Worker.png
new file mode 100644
index 0000000..5b94c2e
Binary files /dev/null and b/api/classsinga_1_1Worker.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1WorkerException-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1WorkerException-members.html b/api/classsinga_1_1WorkerException-members.html
new file mode 100644
index 0000000..fe6a3fa
--- /dev/null
+++ b/api/classsinga_1_1WorkerException-members.html
@@ -0,0 +1,107 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1WorkerException.html">WorkerException</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::WorkerException Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1WorkerException.html">singa::WorkerException</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() (defined in <a class="el" href="classsinga_1_1WorkerException.html">singa::WorkerException</a>)</td><td class="entry"><a class="el" href="classsinga_1_1WorkerException.html">singa::WorkerException</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1WorkerException.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1WorkerException.html b/api/classsinga_1_1WorkerException.html
new file mode 100644
index 0000000..f824165
--- /dev/null
+++ b/api/classsinga_1_1WorkerException.html
@@ -0,0 +1,124 @@
+<!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.6"/>
+<title>Apache SINGA: singa::WorkerException 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1WorkerException.html">WorkerException</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_1WorkerException-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::WorkerException Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::WorkerException:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1WorkerException.png" usemap="#singa::WorkerException_map" alt=""/>
+  <map id="singa::WorkerException_map" name="singa::WorkerException_map">
+</map>
+ </div></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:aa8df5901943d39eb0afa4f1a3e0992fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8df5901943d39eb0afa4f1a3e0992fd"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>what</b> ()  throw ()</td></tr>
+<tr class="separator:aa8df5901943d39eb0afa4f1a3e0992fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="worker_8h_source.html">worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1WorkerException.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1WorkerException.png b/api/classsinga_1_1WorkerException.png
new file mode 100644
index 0000000..a2f08c4
Binary files /dev/null and b/api/classsinga_1_1WorkerException.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get.html
new file mode 100644
index 0000000..5a422de
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get.html
@@ -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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; k &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get.html">Get</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; k &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4-members.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4-members.html
new file mode 100644
index 0000000..e3a6f8c
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">Get< 0 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 0 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">std::tr1::gtest_internal::Get&lt; 0 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GTEST_ADD_REF_</b>(GTEST_TUPLE_ELEMENT_(0, Tuple)) Field(Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">std::tr1::gtest_internal::Get&lt; 0 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">std::tr1::gtest_internal::Get&lt; 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GTEST_BY_REF_</b>(GTEST_TUPLE_ELEMENT_(0, Tuple)) ConstField(const Tuple &amp;t) (defined in <a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">std::tr1::gtest_internal::Get&lt; 0 &gt;</a>)</td><td class="entry"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">std::tr1::gtest_internal::Get&lt; 0 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html
----------------------------------------------------------------------
diff --git a/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html
new file mode 100644
index 0000000..3f373a6
--- /dev/null
+++ b/api/classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: std::tr1::gtest_internal::Get&lt; 0 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>std</b></li><li class="navelem"><b>tr1</b></li><li class="navelem"><b>gtest_internal</b></li><li class="navelem"><a class="el" href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4.html">Get< 0 ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classstd_1_1tr1_1_1gtest__internal_1_1Get_3_010_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::tr1::gtest_internal::Get&lt; 0 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a74beca3869fddfe42ee608b7f4cacb96"><td class="memTemplParams" colspan="2"><a class="anchor" id="a74beca3869fddfe42ee608b7f4cacb96"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a74beca3869fddfe42ee608b7f4cacb96"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_ADD_REF_</b> (GTEST_TUPLE_ELEMENT_(0, Tuple)) Field(Tuple &amp;t)</td></tr>
+<tr class="separator:a74beca3869fddfe42ee608b7f4cacb96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a195b3853de45077f9a324c455f22d7e2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a195b3853de45077f9a324c455f22d7e2"></a>
+template&lt;class Tuple &gt; </td></tr>
+<tr class="memitem:a195b3853de45077f9a324c455f22d7e2"><td class="memTemplItemLeft" align="right" valign="top">static&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GTEST_BY_REF_</b> (GTEST_TUPLE_ELEMENT_(0, Tuple)) ConstField(const Tuple &amp;t)</td></tr>
+<tr class="separator:a195b3853de45077f9a324c455f22d7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[03/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestWithParam.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestWithParam.html b/api/classtesting_1_1TestWithParam.html
new file mode 100644
index 0000000..993ff47
--- /dev/null
+++ b/api/classtesting_1_1TestWithParam.html
@@ -0,0 +1,167 @@
+<!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.6"/>
+<title>Apache SINGA: testing::TestWithParam&lt; T &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1TestWithParam.html">TestWithParam</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="classtesting_1_1TestWithParam-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::TestWithParam&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::TestWithParam&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1TestWithParam.png" usemap="#testing::TestWithParam&lt; T &gt;_map" alt=""/>
+  <map id="testing::TestWithParam&lt; T &gt;_map" name="testing::TestWithParam&lt; T &gt;_map">
+<area href="classtesting_1_1Test.html" alt="testing::Test" shape="rect" coords="0,0,195,24"/>
+<area href="classtesting_1_1WithParamInterface.html" alt="testing::WithParamInterface&lt; T &gt;" shape="rect" coords="205,0,400,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classtesting_1_1Test"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtesting_1_1Test')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtesting_1_1Test.html">testing::Test</a></td></tr>
+<tr class="memitem:a5f2a051d1d99c9b784c666c586186cf9 inherit pub_types_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f2a051d1d99c9b784c666c586186cf9"></a>
+typedef internal::SetUpTestCaseFunc&#160;</td><td class="memItemRight" valign="bottom"><b>SetUpTestCaseFunc</b></td></tr>
+<tr class="separator:a5f2a051d1d99c9b784c666c586186cf9 inherit pub_types_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f532e93b9f3500144c53f31466976c inherit pub_types_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0f532e93b9f3500144c53f31466976c"></a>
+typedef <br class="typebreak"/>
+internal::TearDownTestCaseFunc&#160;</td><td class="memItemRight" valign="bottom"><b>TearDownTestCaseFunc</b></td></tr>
+<tr class="separator:aa0f532e93b9f3500144c53f31466976c inherit pub_types_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_types_classtesting_1_1WithParamInterface"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtesting_1_1WithParamInterface')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td></tr>
+<tr class="memitem:a343febaaebf1f025bda484f841d4fec1 inherit pub_types_classtesting_1_1WithParamInterface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a343febaaebf1f025bda484f841d4fec1"></a>
+typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>ParamType</b></td></tr>
+<tr class="separator:a343febaaebf1f025bda484f841d4fec1 inherit pub_types_classtesting_1_1WithParamInterface"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classtesting_1_1WithParamInterface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtesting_1_1WithParamInterface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td></tr>
+<tr class="memitem:a38cdaa583cac86d14a79f91536d6e442 inherit pub_methods_classtesting_1_1WithParamInterface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38cdaa583cac86d14a79f91536d6e442"></a>
+const ParamType &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetParam</b> () const </td></tr>
+<tr class="separator:a38cdaa583cac86d14a79f91536d6e442 inherit pub_methods_classtesting_1_1WithParamInterface"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_classtesting_1_1Test"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classtesting_1_1Test')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classtesting_1_1Test.html">testing::Test</a></td></tr>
+<tr class="memitem:a5ccbac42fee8c5b00b0bfe89b6c49d79 inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ccbac42fee8c5b00b0bfe89b6c49d79"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>SetUpTestCase</b> ()</td></tr>
+<tr class="separator:a5ccbac42fee8c5b00b0bfe89b6c49d79 inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af374706cbaf0ffc460f4fd04e7c150f1 inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af374706cbaf0ffc460f4fd04e7c150f1"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>TearDownTestCase</b> ()</td></tr>
+<tr class="separator:af374706cbaf0ffc460f4fd04e7c150f1 inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8d0725cfb519f82eaf4fd2d2f46d97d inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8d0725cfb519f82eaf4fd2d2f46d97d"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasFatalFailure</b> ()</td></tr>
+<tr class="separator:aa8d0725cfb519f82eaf4fd2d2f46d97d inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b933cea62eff67a05e23aa07f38bf29 inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b933cea62eff67a05e23aa07f38bf29"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasNonfatalFailure</b> ()</td></tr>
+<tr class="separator:a3b933cea62eff67a05e23aa07f38bf29 inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a00be7dd0a6bfdc8d47a1b784623613 inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a00be7dd0a6bfdc8d47a1b784623613"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasFailure</b> ()</td></tr>
+<tr class="separator:a7a00be7dd0a6bfdc8d47a1b784623613 inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b20a48c0bbc9dd1fe96715e4a5c0164 inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b20a48c0bbc9dd1fe96715e4a5c0164"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>RecordProperty</b> (const std::string &amp;key, const std::string &amp;value)</td></tr>
+<tr class="separator:a7b20a48c0bbc9dd1fe96715e4a5c0164 inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb8d29af28e48dc65b2b743f1874ccfe inherit pub_static_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb8d29af28e48dc65b2b743f1874ccfe"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>RecordProperty</b> (const std::string &amp;key, int value)</td></tr>
+<tr class="separator:afb8d29af28e48dc65b2b743f1874ccfe inherit pub_static_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_classtesting_1_1Test"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtesting_1_1Test')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtesting_1_1Test.html">testing::Test</a></td></tr>
+<tr class="memitem:a57a4116f39f6636a80710ded7d42e889 inherit pro_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a4116f39f6636a80710ded7d42e889"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>SetUp</b> ()</td></tr>
+<tr class="separator:a57a4116f39f6636a80710ded7d42e889 inherit pro_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2889fd829b6c712d98fb3896d28f64a3 inherit pro_methods_classtesting_1_1Test"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2889fd829b6c712d98fb3896d28f64a3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>TearDown</b> ()</td></tr>
+<tr class="separator:a2889fd829b6c712d98fb3896d28f64a3 inherit pro_methods_classtesting_1_1Test"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1TestWithParam.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1TestWithParam.png b/api/classtesting_1_1TestWithParam.png
new file mode 100644
index 0000000..13baf0c
Binary files /dev/null and b/api/classtesting_1_1TestWithParam.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1UnitTest-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1UnitTest-members.html b/api/classtesting_1_1UnitTest-members.html
new file mode 100644
index 0000000..93e3e6f
--- /dev/null
+++ b/api/classtesting_1_1UnitTest-members.html
@@ -0,0 +1,139 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::UnitTest Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ad_hoc_test_result</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddGlobalTestEnvironment</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>current_test_case</b>() const GTEST_LOCK_EXCLUDED_(mutex_) (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>current_test_info</b>() const GTEST_LOCK_EXCLUDED_(mutex_) (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>disabled_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>elapsed_time</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Failed</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>failed_test_case_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>failed_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetInstance</b>() (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetTestCase</b>(int i) const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::AssertHelper</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::GetUnitTestImpl</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::ReportFailureInUnknownLocation</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::ScopedTrace</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::StreamingListenerTest</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::UnitTestRecordPropertyTestHelper</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>listeners</b>() (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>original_working_dir</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>parameterized_test_registry</b>() GTEST_LOCK_EXCLUDED_(mutex_) (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Passed</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>random_seed</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reportable_disabled_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reportable_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Run</b>() GTEST_MUST_USE_RESULT_ (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>start_timestamp</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successful_test_case_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successful_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Test</b> (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>test_case_to_run_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>test_to_run_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>total_test_case_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>total_test_count</b>() const  (defined in <a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a>)</td><td class="entry"><a class="el" href="classtesting_1_1UnitTest.html">testing::UnitTest</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1UnitTest.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1UnitTest.html b/api/classtesting_1_1UnitTest.html
new file mode 100644
index 0000000..48941d8
--- /dev/null
+++ b/api/classtesting_1_1UnitTest.html
@@ -0,0 +1,221 @@
+<!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.6"/>
+<title>Apache SINGA: testing::UnitTest 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1UnitTest-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::UnitTest Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a2febc800536b44500565f4c423f359d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2febc800536b44500565f4c423f359d3"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Run</b> () GTEST_MUST_USE_RESULT_</td></tr>
+<tr class="separator:a2febc800536b44500565f4c423f359d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a275c8d3b385106ee981f74980c34e99d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a275c8d3b385106ee981f74980c34e99d"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>original_working_dir</b> () const </td></tr>
+<tr class="separator:a275c8d3b385106ee981f74980c34e99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bf61896036ae03edbd7bceed14f9e18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bf61896036ae03edbd7bceed14f9e18"></a>
+const <a class="el" href="classtesting_1_1TestCase.html">TestCase</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>current_test_case</b> () const GTEST_LOCK_EXCLUDED_(mutex_)</td></tr>
+<tr class="separator:a2bf61896036ae03edbd7bceed14f9e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a088eaf814a33085ace3d881d22e6bdea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a088eaf814a33085ace3d881d22e6bdea"></a>
+const <a class="el" href="classtesting_1_1TestInfo.html">TestInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>current_test_info</b> () const GTEST_LOCK_EXCLUDED_(mutex_)</td></tr>
+<tr class="separator:a088eaf814a33085ace3d881d22e6bdea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fa3161a230329e07fc31a339b682a20"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fa3161a230329e07fc31a339b682a20"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>random_seed</b> () const </td></tr>
+<tr class="separator:a6fa3161a230329e07fc31a339b682a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d9bd4ed86901c44b525a7b6ca4cbf3b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d9bd4ed86901c44b525a7b6ca4cbf3b"></a>
+<a class="el" href="classtesting_1_1internal_1_1ParameterizedTestCaseRegistry.html">internal::ParameterizedTestCaseRegistry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>parameterized_test_registry</b> () GTEST_LOCK_EXCLUDED_(mutex_)</td></tr>
+<tr class="separator:a1d9bd4ed86901c44b525a7b6ca4cbf3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1761c6274386032db8315156632eab6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1761c6274386032db8315156632eab6d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>successful_test_case_count</b> () const </td></tr>
+<tr class="separator:a1761c6274386032db8315156632eab6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1084a93a4b92c6506738e309b0a9eeea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1084a93a4b92c6506738e309b0a9eeea"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>failed_test_case_count</b> () const </td></tr>
+<tr class="separator:a1084a93a4b92c6506738e309b0a9eeea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6802793a0be9cee17380fdd8c7161fcd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6802793a0be9cee17380fdd8c7161fcd"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>total_test_case_count</b> () const </td></tr>
+<tr class="separator:a6802793a0be9cee17380fdd8c7161fcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb7330165eb5be7beac3f7e6ced5fcdd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb7330165eb5be7beac3f7e6ced5fcdd"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>test_case_to_run_count</b> () const </td></tr>
+<tr class="separator:abb7330165eb5be7beac3f7e6ced5fcdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4795d58351f03498d5823a743b0722c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4795d58351f03498d5823a743b0722c5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>successful_test_count</b> () const </td></tr>
+<tr class="separator:a4795d58351f03498d5823a743b0722c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeda0f8ca87adf65f634c3d6d9ab98598"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeda0f8ca87adf65f634c3d6d9ab98598"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>failed_test_count</b> () const </td></tr>
+<tr class="separator:aeda0f8ca87adf65f634c3d6d9ab98598"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5eaf98c5d9cc0afe501ac03e6414188"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5eaf98c5d9cc0afe501ac03e6414188"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>reportable_disabled_test_count</b> () const </td></tr>
+<tr class="separator:aa5eaf98c5d9cc0afe501ac03e6414188"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cbd084447b74784d1bb85c1ed4b96d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cbd084447b74784d1bb85c1ed4b96d5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>disabled_test_count</b> () const </td></tr>
+<tr class="separator:a4cbd084447b74784d1bb85c1ed4b96d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa32cb4f3cd34564a5c641bd409f8f83b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa32cb4f3cd34564a5c641bd409f8f83b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>reportable_test_count</b> () const </td></tr>
+<tr class="separator:aa32cb4f3cd34564a5c641bd409f8f83b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54315b233d354693b9aa1184cf2996de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54315b233d354693b9aa1184cf2996de"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>total_test_count</b> () const </td></tr>
+<tr class="separator:a54315b233d354693b9aa1184cf2996de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a953a52f89898a04ee4a4e08469407cd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a953a52f89898a04ee4a4e08469407cd3"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>test_to_run_count</b> () const </td></tr>
+<tr class="separator:a953a52f89898a04ee4a4e08469407cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7d2853c08558b685df818d47f44a10c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7d2853c08558b685df818d47f44a10c"></a>
+TimeInMillis&#160;</td><td class="memItemRight" valign="bottom"><b>start_timestamp</b> () const </td></tr>
+<tr class="separator:aa7d2853c08558b685df818d47f44a10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeff5643edc3624e49085e2850512a7de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeff5643edc3624e49085e2850512a7de"></a>
+TimeInMillis&#160;</td><td class="memItemRight" valign="bottom"><b>elapsed_time</b> () const </td></tr>
+<tr class="separator:aeff5643edc3624e49085e2850512a7de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ef49e958702bf741e7eaa4864e28a48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ef49e958702bf741e7eaa4864e28a48"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Passed</b> () const </td></tr>
+<tr class="separator:a4ef49e958702bf741e7eaa4864e28a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7711156d07d6037d8f497e5c385f78d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7711156d07d6037d8f497e5c385f78d"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>Failed</b> () const </td></tr>
+<tr class="separator:ad7711156d07d6037d8f497e5c385f78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f324a8067d56044b56cec58d1edf7ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f324a8067d56044b56cec58d1edf7ac"></a>
+const <a class="el" href="classtesting_1_1TestCase.html">TestCase</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetTestCase</b> (int i) const </td></tr>
+<tr class="separator:a3f324a8067d56044b56cec58d1edf7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9f058c36dab7e276322969160ed6f06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9f058c36dab7e276322969160ed6f06"></a>
+const <a class="el" href="classtesting_1_1TestResult.html">TestResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>ad_hoc_test_result</b> () const </td></tr>
+<tr class="separator:ad9f058c36dab7e276322969160ed6f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac10085cf7c0d1751306db10cdd953cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac10085cf7c0d1751306db10cdd953cb"></a>
+<a class="el" href="classtesting_1_1TestEventListeners.html">TestEventListeners</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>listeners</b> ()</td></tr>
+<tr class="separator:aac10085cf7c0d1751306db10cdd953cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a24192400b70b3b946746954e9574fb8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24192400b70b3b946746954e9574fb8e"></a>
+static <a class="el" href="classtesting_1_1UnitTest.html">UnitTest</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetInstance</b> ()</td></tr>
+<tr class="separator:a24192400b70b3b946746954e9574fb8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a5b78b1c2e1fa07ffed92da365593eaa4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b78b1c2e1fa07ffed92da365593eaa4"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>Test</b></td></tr>
+<tr class="separator:a5b78b1c2e1fa07ffed92da365593eaa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a183151aa061362c87572e743fe233db1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a183151aa061362c87572e743fe233db1"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::AssertHelper</b></td></tr>
+<tr class="separator:a183151aa061362c87572e743fe233db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa3927576c08d7b1e197ba16b2b3dcb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa3927576c08d7b1e197ba16b2b3dcb7"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::ScopedTrace</b></td></tr>
+<tr class="separator:afa3927576c08d7b1e197ba16b2b3dcb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc037d188dab349a94868991955c9cd4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc037d188dab349a94868991955c9cd4"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::StreamingListenerTest</b></td></tr>
+<tr class="separator:adc037d188dab349a94868991955c9cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae970f89a9f477a349fe5778be85ef42e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae970f89a9f477a349fe5778be85ef42e"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>internal::UnitTestRecordPropertyTestHelper</b></td></tr>
+<tr class="separator:ae970f89a9f477a349fe5778be85ef42e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ec26e4c31220ff8e769cc09689a4d6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ec26e4c31220ff8e769cc09689a4d6d"></a>
+<a class="el" href="classtesting_1_1Environment.html">Environment</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>AddGlobalTestEnvironment</b> (<a class="el" href="classtesting_1_1Environment.html">Environment</a> *env)</td></tr>
+<tr class="separator:a5ec26e4c31220ff8e769cc09689a4d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56e56be7066957d612e53b5c60f6ac08"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56e56be7066957d612e53b5c60f6ac08"></a>
+<a class="el" href="classtesting_1_1internal_1_1UnitTestImpl.html">internal::UnitTestImpl</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>internal::GetUnitTestImpl</b> ()</td></tr>
+<tr class="separator:a56e56be7066957d612e53b5c60f6ac08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73f5a158c13793b90c80d854c9a75120"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73f5a158c13793b90c80d854c9a75120"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>internal::ReportFailureInUnknownLocation</b> (TestPartResult::Type result_type, const std::string &amp;message)</td></tr>
+<tr class="separator:a73f5a158c13793b90c80d854c9a75120"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1WithParamInterface-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1WithParamInterface-members.html b/api/classtesting_1_1WithParamInterface-members.html
new file mode 100644
index 0000000..066dd54
--- /dev/null
+++ b/api/classtesting_1_1WithParamInterface-members.html
@@ -0,0 +1,110 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1WithParamInterface.html">WithParamInterface</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::WithParamInterface&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetParam</b>() const  (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::ParameterizedTestFactory</b> (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParamType</b> typedef (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~WithParamInterface</b>() (defined in <a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1WithParamInterface.html">testing::WithParamInterface&lt; T &gt;</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 Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1WithParamInterface.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1WithParamInterface.html b/api/classtesting_1_1WithParamInterface.html
new file mode 100644
index 0000000..d01fae1
--- /dev/null
+++ b/api/classtesting_1_1WithParamInterface.html
@@ -0,0 +1,140 @@
+<!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.6"/>
+<title>Apache SINGA: testing::WithParamInterface&lt; T &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><a class="el" href="classtesting_1_1WithParamInterface.html">WithParamInterface</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classtesting_1_1WithParamInterface-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::WithParamInterface&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::WithParamInterface&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1WithParamInterface.png" usemap="#testing::WithParamInterface&lt; T &gt;_map" alt=""/>
+  <map id="testing::WithParamInterface&lt; T &gt;_map" name="testing::WithParamInterface&lt; T &gt;_map">
+<area href="classtesting_1_1TestWithParam.html" alt="testing::TestWithParam&lt; T &gt;" shape="rect" coords="0,56,195,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a343febaaebf1f025bda484f841d4fec1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a343febaaebf1f025bda484f841d4fec1"></a>
+typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>ParamType</b></td></tr>
+<tr class="separator:a343febaaebf1f025bda484f841d4fec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a38cdaa583cac86d14a79f91536d6e442"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38cdaa583cac86d14a79f91536d6e442"></a>
+const ParamType &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetParam</b> () const </td></tr>
+<tr class="separator:a38cdaa583cac86d14a79f91536d6e442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a7543eb7df89f00fff517dba24bc11dd5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7543eb7df89f00fff517dba24bc11dd5"></a>
+template&lt;class TestClass &gt; </td></tr>
+<tr class="memitem:a7543eb7df89f00fff517dba24bc11dd5"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>internal::ParameterizedTestFactory</b></td></tr>
+<tr class="separator:a7543eb7df89f00fff517dba24bc11dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:44 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1WithParamInterface.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1WithParamInterface.png b/api/classtesting_1_1WithParamInterface.png
new file mode 100644
index 0000000..100eff7
Binary files /dev/null and b/api/classtesting_1_1WithParamInterface.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal2_1_1TypeWithoutFormatter-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal2_1_1TypeWithoutFormatter-members.html b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter-members.html
new file mode 100644
index 0000000..5799060
--- /dev/null
+++ b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter-members.html
@@ -0,0 +1,107 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal2</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter.html">TypeWithoutFormatter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal2::TypeWithoutFormatter&lt; T, kTypeKind &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter.html">testing::internal2::TypeWithoutFormatter&lt; T, kTypeKind &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PrintValue</b>(const T &amp;value,::std::ostream *os) (defined in <a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter.html">testing::internal2::TypeWithoutFormatter&lt; T, kTypeKind &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter.html">testing::internal2::TypeWithoutFormatter&lt; T, kTypeKind &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal2_1_1TypeWithoutFormatter.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal2_1_1TypeWithoutFormatter.html b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter.html
new file mode 100644
index 0000000..150b0fe
--- /dev/null
+++ b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter.html
@@ -0,0 +1,116 @@
+<!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.6"/>
+<title>Apache SINGA: testing::internal2::TypeWithoutFormatter&lt; T, kTypeKind &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal2</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter.html">TypeWithoutFormatter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classtesting_1_1internal2_1_1TypeWithoutFormatter-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::internal2::TypeWithoutFormatter&lt; T, kTypeKind &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a6c377c9580fce3a0226911417053f417"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c377c9580fce3a0226911417053f417"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>PrintValue</b> (const T &amp;value,::std::ostream *os)</td></tr>
+<tr class="separator:a6c377c9580fce3a0226911417053f417"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[16/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ReLULayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ReLULayer.html b/api/classsinga_1_1ReLULayer.html
new file mode 100644
index 0000000..be2a3c6
--- /dev/null
+++ b/api/classsinga_1_1ReLULayer.html
@@ -0,0 +1,369 @@
+<!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.6"/>
+<title>Apache SINGA: singa::ReLULayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ReLULayer.html">ReLULayer</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_1ReLULayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ReLULayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::ReLULayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1ReLULayer.png" usemap="#singa::ReLULayer_map" alt=""/>
+  <map id="singa::ReLULayer_map" name="singa::ReLULayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,111,24"/>
+</map>
+ </div></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:aa9bb1353ba3d064edd1f89d5918442aa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ReLULayer.html#aa9bb1353ba3d064edd1f89d5918442aa">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:aa9bb1353ba3d064edd1f89d5918442aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#aa9bb1353ba3d064edd1f89d5918442aa">More...</a><br/></td></tr>
+<tr class="separator:aa9bb1353ba3d064edd1f89d5918442aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3098f5e7619f7746e3ca6836e0fe979"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ReLULayer.html#ad3098f5e7619f7746e3ca6836e0fe979">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:ad3098f5e7619f7746e3ca6836e0fe979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape.  <a href="#ad3098f5e7619f7746e3ca6836e0fe979">More...</a><br/></td></tr>
+<tr class="separator:ad3098f5e7619f7746e3ca6836e0fe979"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07dd900b22179b3a69d5d4515a258486"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07dd900b22179b3a69d5d4515a258486"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a07dd900b22179b3a69d5d4515a258486"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21d374f2a288de917836eb7322de6c5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21d374f2a288de917836eb7322de6c5a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a21d374f2a288de917836eb7322de6c5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> ()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aa9bb1353ba3d064edd1f89d5918442aa"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ReLULayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad3098f5e7619f7746e3ca6836e0fe979"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ReLULayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties are set according to shapes of itself and connected layers, and configuration. this should not change the current shape_( shape check is done outside the function). </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ReLULayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ReLULayer.png b/api/classsinga_1_1ReLULayer.png
new file mode 100644
index 0000000..0845854
Binary files /dev/null and b/api/classsinga_1_1ReLULayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Router-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Router-members.html b/api/classsinga_1_1Router-members.html
new file mode 100644
index 0000000..f90ad71
--- /dev/null
+++ b/api/classsinga_1_1Router-members.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Router.html">Router</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Router Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Router.html">singa::Router</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Router.html#a3b81056cdcb3674cb4c4dee076ca73de">Bind</a>(string endpoint)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>bufmsg_</b> (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bufsize_</b> (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>id2addr_</b> (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Router.html#acf78012cf74a12b85a318802807529c9">InternalID</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_id_</b> (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nBufmsg_</b> (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>poller_</b> (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Router.html#af37c2f449e99e1b35042a39ef9fb2389">Receive</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Router.html#a900d3699bc01889cda94178fa0ce204b">Router</a>(int bufsize=100)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>router_</b> (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Router.html#a4186013f846e404bec26eca4145d8d09">Send</a>(Msg *msg)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Socket</b>() (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Router</b>() (defined in <a class="el" href="classsinga_1_1Router.html">singa::Router</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Router.html">singa::Router</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Socket</b>() (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</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 Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Router.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Router.html b/api/classsinga_1_1Router.html
new file mode 100644
index 0000000..7612de0
--- /dev/null
+++ b/api/classsinga_1_1Router.html
@@ -0,0 +1,279 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Router 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Router.html">Router</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_1Router-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Router Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::Router:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Router.png" usemap="#singa::Router_map" alt=""/>
+  <map id="singa::Router_map" name="singa::Router_map">
+<area href="classsinga_1_1Socket.html" alt="singa::Socket" shape="rect" coords="0,0,86,24"/>
+</map>
+ </div></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:a900d3699bc01889cda94178fa0ce204b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Router.html#a900d3699bc01889cda94178fa0ce204b">Router</a> (int bufsize=100)</td></tr>
+<tr class="memdesc:a900d3699bc01889cda94178fa0ce204b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a900d3699bc01889cda94178fa0ce204b">More...</a><br/></td></tr>
+<tr class="separator:a900d3699bc01889cda94178fa0ce204b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b81056cdcb3674cb4c4dee076ca73de"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Router.html#a3b81056cdcb3674cb4c4dee076ca73de">Bind</a> (string endpoint)</td></tr>
+<tr class="memdesc:a3b81056cdcb3674cb4c4dee076ca73de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the connection with dealers.  <a href="#a3b81056cdcb3674cb4c4dee076ca73de">More...</a><br/></td></tr>
+<tr class="separator:a3b81056cdcb3674cb4c4dee076ca73de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4186013f846e404bec26eca4145d8d09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4186013f846e404bec26eca4145d8d09"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Router.html#a4186013f846e404bec26eca4145d8d09">Send</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> *msg)</td></tr>
+<tr class="memdesc:a4186013f846e404bec26eca4145d8d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the destination socket has not connected yet, buffer this the message. <br/></td></tr>
+<tr class="separator:a4186013f846e404bec26eca4145d8d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af37c2f449e99e1b35042a39ef9fb2389"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Router.html#af37c2f449e99e1b35042a39ef9fb2389">Receive</a> ()</td></tr>
+<tr class="memdesc:af37c2f449e99e1b35042a39ef9fb2389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message from any connected socket.  <a href="#af37c2f449e99e1b35042a39ef9fb2389">More...</a><br/></td></tr>
+<tr class="separator:af37c2f449e99e1b35042a39ef9fb2389"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf78012cf74a12b85a318802807529c9"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Router.html#acf78012cf74a12b85a318802807529c9">InternalID</a> () const </td></tr>
+<tr class="separator:acf78012cf74a12b85a318802807529c9"><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:a57ac9fa86248a3f6a34370df68ebfbb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57ac9fa86248a3f6a34370df68ebfbb2"></a>
+zsock_t *&#160;</td><td class="memItemRight" valign="bottom"><b>router_</b></td></tr>
+<tr class="separator:a57ac9fa86248a3f6a34370df68ebfbb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac163cdf641549850c9fc8182a65b1a5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac163cdf641549850c9fc8182a65b1a5a"></a>
+zpoller_t *&#160;</td><td class="memItemRight" valign="bottom"><b>poller_</b></td></tr>
+<tr class="separator:ac163cdf641549850c9fc8182a65b1a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae42fb8930c9fe39b2c4be0afdd83a6bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae42fb8930c9fe39b2c4be0afdd83a6bd"></a>
+std::map&lt; int, zframe_t * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>id2addr_</b></td></tr>
+<tr class="separator:ae42fb8930c9fe39b2c4be0afdd83a6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a368ede33e80504c7d5ad43821aebc6e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a368ede33e80504c7d5ad43821aebc6e7"></a>
+std::map&lt; int, std::vector<br class="typebreak"/>
+&lt; zmsg_t * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>bufmsg_</b></td></tr>
+<tr class="separator:a368ede33e80504c7d5ad43821aebc6e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ac56ab4fc356ea455ae1cb2ba1c3ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11ac56ab4fc356ea455ae1cb2ba1c3ff"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>nBufmsg_</b></td></tr>
+<tr class="separator:a11ac56ab4fc356ea455ae1cb2ba1c3ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf0a93158c31ec0f00812bcea47511ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf0a93158c31ec0f00812bcea47511ba"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>bufsize_</b></td></tr>
+<tr class="separator:acf0a93158c31ec0f00812bcea47511ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Socket"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Socket')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td></tr>
+<tr class="memitem:a548707780610342ac0788f9abf21a0c5 inherit pro_attribs_classsinga_1_1Socket"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a548707780610342ac0788f9abf21a0c5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>local_id_</b></td></tr>
+<tr class="separator:a548707780610342ac0788f9abf21a0c5 inherit pro_attribs_classsinga_1_1Socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a900d3699bc01889cda94178fa0ce204b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">singa::Router::Router </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>bufsize</em> = <code>100</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<p>There is only one router per procs, hence its local id is 0 and is not set explicitly.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">bufsize</td><td>buffer at most this number of messages </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a3b81056cdcb3674cb4c4dee076ca73de"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::Router::Bind </td>
+          <td>(</td>
+          <td class="paramtype">string&#160;</td>
+          <td class="paramname"><em>endpoint</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the connection with dealers. </p>
+<p>It automatically binds to the endpoint for intra-process communication, i.e., "inproc://router".</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">endpoint</td><td>the identifier for the <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> socket in other process to connect. It has the format IP:Port, where IP is the host machine. If endpoint is empty, it means that all connections are intra-process connection. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of connected dealers. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="acf78012cf74a12b85a318802807529c9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void* singa::Router::InternalID </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">
+<dl class="section return"><dt>Returns</dt><dd>Identifier of the implementation dependent socket. E.g., zsock_t* for ZeroMQ implementation and rank for MPI implementation. </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Socket.html#a021de3273ade2a1f3b447e04888a0701">singa::Socket</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af37c2f449e99e1b35042a39ef9fb2389"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a>* singa::Router::Receive </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Receive a message from any connected socket. </p>
+<dl class="section return"><dt>Returns</dt><dd>a message pointer if success; nullptr if failure </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Socket.html#a66dec7b6c67f6dd1407f2ce53d4eb5cb">singa::Socket</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="socket_8h_source.html">socket.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Router.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Router.png b/api/classsinga_1_1Router.png
new file mode 100644
index 0000000..e811708
Binary files /dev/null and b/api/classsinga_1_1Router.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SGDUpdater-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SGDUpdater-members.html b/api/classsinga_1_1SGDUpdater-members.html
new file mode 100644
index 0000000..e6850ca
--- /dev/null
+++ b/api/classsinga_1_1SGDUpdater-members.html
@@ -0,0 +1,113 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SGDUpdater.html">SGDUpdater</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::SGDUpdater Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base_lr_</b> (defined in <a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GetLearningRate</b>(int step) (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>Init</b>(const UpdaterProto &amp;proto) (defined in <a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>momentum_</b> (defined in <a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>Update</b>(int step, shared_ptr&lt; Param &gt; param, float grad_scale=1.0f) (defined in <a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>weight_decay_</b> (defined in <a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a>)</td><td class="entry"><a class="el" href="classsinga_1_1SGDUpdater.html">singa::SGDUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SGDUpdater.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SGDUpdater.html b/api/classsinga_1_1SGDUpdater.html
new file mode 100644
index 0000000..a007562
--- /dev/null
+++ b/api/classsinga_1_1SGDUpdater.html
@@ -0,0 +1,149 @@
+<!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.6"/>
+<title>Apache SINGA: singa::SGDUpdater 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1SGDUpdater.html">SGDUpdater</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_1SGDUpdater-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::SGDUpdater Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::SGDUpdater:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1SGDUpdater.png" usemap="#singa::SGDUpdater_map" alt=""/>
+  <map id="singa::SGDUpdater_map" name="singa::SGDUpdater_map">
+<area href="classsinga_1_1Updater.html" title="Updater for Param. " alt="singa::Updater" shape="rect" coords="0,0,118,24"/>
+</map>
+ </div></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:add5f8f23819b94af52951a7e29d58386"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add5f8f23819b94af52951a7e29d58386"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Init</b> (const UpdaterProto &amp;proto)</td></tr>
+<tr class="separator:add5f8f23819b94af52951a7e29d58386"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3a54d7c00d1cdcfecf6d9f68d2017d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3a54d7c00d1cdcfecf6d9f68d2017d9"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (int step, shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, float grad_scale=1.0f)</td></tr>
+<tr class="separator:ad3a54d7c00d1cdcfecf6d9f68d2017d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4189828903aa55cddefe468575f9f2c8"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>GetLearningRate</b> (int step)</td></tr>
+<tr class="separator:a4189828903aa55cddefe468575f9f2c8 inherit pub_methods_classsinga_1_1Updater"><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:a935afb6f2f55643df3ab35b8f56fd0e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a935afb6f2f55643df3ab35b8f56fd0e2"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>base_lr_</b></td></tr>
+<tr class="separator:a935afb6f2f55643df3ab35b8f56fd0e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ac19a53751d8d1018798e978bb5e4ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ac19a53751d8d1018798e978bb5e4ed"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>momentum_</b></td></tr>
+<tr class="separator:a5ac19a53751d8d1018798e978bb5e4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade178f7af362a6d3fac048425f40a330"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade178f7af362a6d3fac048425f40a330"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><b>weight_decay_</b></td></tr>
+<tr class="separator:ade178f7af362a6d3fac048425f40a330"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Updater"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Updater')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Updater.html">singa::Updater</a></td></tr>
+<tr class="memitem:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad5f46dc2f78aa73b6698a11447aad2d"></a>
+UpdaterProto&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
+<tr class="separator:aad5f46dc2f78aa73b6698a11447aad2d inherit pro_attribs_classsinga_1_1Updater"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="updater_8h_source.html">updater.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SGDUpdater.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SGDUpdater.png b/api/classsinga_1_1SGDUpdater.png
new file mode 100644
index 0000000..01203a9
Binary files /dev/null and b/api/classsinga_1_1SGDUpdater.png differ


[02/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4-members.html b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4-members.html
new file mode 100644
index 0000000..7b91594
--- /dev/null
+++ b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4-members.html
@@ -0,0 +1,107 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal2</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html">TypeWithoutFormatter< T, kConvertibleToInteger ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal2::TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html">testing::internal2::TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PrintValue</b>(const T &amp;value,::std::ostream *os) (defined in <a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html">testing::internal2::TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html">testing::internal2::TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html
new file mode 100644
index 0000000..3c5bc42
--- /dev/null
+++ b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html
@@ -0,0 +1,116 @@
+<!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.6"/>
+<title>Apache SINGA: testing::internal2::TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal2</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4.html">TypeWithoutFormatter< T, kConvertibleToInteger ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kConvertibleToInteger_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::internal2::TypeWithoutFormatter&lt; T, kConvertibleToInteger &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a6b293e13b58e50bba0e220c25e0614b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b293e13b58e50bba0e220c25e0614b7"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>PrintValue</b> (const T &amp;value,::std::ostream *os)</td></tr>
+<tr class="separator:a6b293e13b58e50bba0e220c25e0614b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4-members.html b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4-members.html
new file mode 100644
index 0000000..b27c994
--- /dev/null
+++ b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4-members.html
@@ -0,0 +1,107 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal2</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html">TypeWithoutFormatter< T, kProtobuf ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal2::TypeWithoutFormatter&lt; T, kProtobuf &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html">testing::internal2::TypeWithoutFormatter&lt; T, kProtobuf &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PrintValue</b>(const T &amp;value,::std::ostream *os) (defined in <a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html">testing::internal2::TypeWithoutFormatter&lt; T, kProtobuf &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html">testing::internal2::TypeWithoutFormatter&lt; T, kProtobuf &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html
new file mode 100644
index 0000000..b7a10d3
--- /dev/null
+++ b/api/classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html
@@ -0,0 +1,116 @@
+<!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.6"/>
+<title>Apache SINGA: testing::internal2::TypeWithoutFormatter&lt; T, kProtobuf &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal2</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4.html">TypeWithoutFormatter< T, kProtobuf ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classtesting_1_1internal2_1_1TypeWithoutFormatter_3_01T_00_01kProtobuf_01_4-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::internal2::TypeWithoutFormatter&lt; T, kProtobuf &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a714da93952c590db954228bd9cc60abf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a714da93952c590db954228bd9cc60abf"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>PrintValue</b> (const T &amp;value,::std::ostream *os)</td></tr>
+<tr class="separator:a714da93952c590db954228bd9cc60abf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1AssertHelper-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1AssertHelper-members.html b/api/classtesting_1_1internal_1_1AssertHelper-members.html
new file mode 100644
index 0000000..090e32f
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1AssertHelper-members.html
@@ -0,0 +1,109 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">AssertHelper</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal::AssertHelper Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AssertHelper</b>(TestPartResult::Type type, const char *file, int line, const char *message) (defined in <a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const Message &amp;message) const  (defined in <a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AssertHelper</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">testing::internal::AssertHelper</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1AssertHelper.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1AssertHelper.html b/api/classtesting_1_1internal_1_1AssertHelper.html
new file mode 100644
index 0000000..3d77df2
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1AssertHelper.html
@@ -0,0 +1,121 @@
+<!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.6"/>
+<title>Apache SINGA: testing::internal::AssertHelper 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1AssertHelper.html">AssertHelper</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1internal_1_1AssertHelper-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::internal::AssertHelper Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:ac2c9334518fd4087189b4505567a3c90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2c9334518fd4087189b4505567a3c90"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AssertHelper</b> (TestPartResult::Type type, const char *file, int line, const char *message)</td></tr>
+<tr class="separator:ac2c9334518fd4087189b4505567a3c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab721be11cb9aca8a361ca1f014ca5f80"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab721be11cb9aca8a361ca1f014ca5f80"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classtesting_1_1Message.html">Message</a> &amp;message) const </td></tr>
+<tr class="separator:ab721be11cb9aca8a361ca1f014ca5f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/gtest-all.cc</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator10-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator10-members.html b/api/classtesting_1_1internal_1_1CartesianProductGenerator10-members.html
new file mode 100644
index 0000000..93893b9
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1CartesianProductGenerator10-members.html
@@ -0,0 +1,112 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">CartesianProductGenerator10</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Begin</b>() const  (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>CartesianProductGenerator10</b>(const ParamGenerator&lt; T1 &gt; &amp;g1, const ParamGenerator&lt; T2 &gt; &amp;g2, const ParamGenerator&lt; T3 &gt; &amp;g3, const ParamGenerator&lt; T4 &gt; &amp;g4, const ParamGenerator&lt; T5 &gt; &amp;g5, const ParamGenerator&lt; T6 &gt; &amp;g6, const ParamGenerator&lt; T7 &gt; &amp;g7, const ParamGenerator&lt; T8 &gt; &amp;g8, const ParamGenerator&lt; T9 &gt; &amp;g9, const ParamGenerator&lt; T10 &gt; &amp;g10) (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>End</b>() const  (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParamType</b> typedef (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~CartesianProductGenerator10</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~ParamGeneratorInterface</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; &gt;</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 Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator10.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator10.html b/api/classtesting_1_1internal_1_1CartesianProductGenerator10.html
new file mode 100644
index 0000000..4bbf002
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1CartesianProductGenerator10.html
@@ -0,0 +1,147 @@
+<!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.6"/>
+<title>Apache SINGA: testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator10.html">CartesianProductGenerator10</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1internal_1_1CartesianProductGenerator10-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1internal_1_1CartesianProductGenerator10.png" usemap="#testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;_map" alt=""/>
+  <map id="testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;_map" name="testing::internal::CartesianProductGenerator10&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt;_map">
+<area href="classtesting_1_1internal_1_1ParamGeneratorInterface.html" alt="testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; &gt;" shape="rect" coords="0,0,597,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aa483a5910f5dbfb974b43f93853f4b29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa483a5910f5dbfb974b43f93853f4b29"></a>
+typedef ::<a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple</a>&lt; T1, <br class="typebreak"/>
+T2, T3, T4, T5, T6, T7, T8, T9, <br class="typebreak"/>
+T10 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ParamType</b></td></tr>
+<tr class="separator:aa483a5910f5dbfb974b43f93853f4b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 &gt; &gt;</a></td></tr>
+<tr class="memitem:acda0f17f9a2c528f4e85cae116a4400c inherit pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acda0f17f9a2c528f4e85cae116a4400c"></a>
+typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>ParamType</b></td></tr>
+<tr class="separator:acda0f17f9a2c528f4e85cae116a4400c inherit pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a53d945670e910c0baaf14f3d25f1bbb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53d945670e910c0baaf14f3d25f1bbb6"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>CartesianProductGenerator10</b> (const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T1 &gt; &amp;g1, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T2 &gt; &amp;g2, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T3 &gt; &amp;g3, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T4 &gt; &amp;g4, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T5 &gt; &amp;g5, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T6 &gt; &amp;g6, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T7 &gt; &amp;g7, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T8 &gt
 ; &amp;g8, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T9 &gt; &amp;g9, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T10 &gt; &amp;g10)</td></tr>
+<tr class="separator:a53d945670e910c0baaf14f3d25f1bbb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b3ac46cd0f29e9654ee0afa18490798"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b3ac46cd0f29e9654ee0afa18490798"></a>
+virtual <a class="el" href="classtesting_1_1internal_1_1ParamIteratorInterface.html">ParamIteratorInterface</a><br class="typebreak"/>
+&lt; <a class="el" href="classstd_1_1tr1_1_1tuple.html">ParamType</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>Begin</b> () const </td></tr>
+<tr class="separator:a1b3ac46cd0f29e9654ee0afa18490798"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8a229952b2bf4ab2eb6f444bc4c4cee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8a229952b2bf4ab2eb6f444bc4c4cee"></a>
+virtual <a class="el" href="classtesting_1_1internal_1_1ParamIteratorInterface.html">ParamIteratorInterface</a><br class="typebreak"/>
+&lt; <a class="el" href="classstd_1_1tr1_1_1tuple.html">ParamType</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>End</b> () const </td></tr>
+<tr class="separator:ab8a229952b2bf4ab2eb6f444bc4c4cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:47 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator10.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator10.png b/api/classtesting_1_1internal_1_1CartesianProductGenerator10.png
new file mode 100644
index 0000000..4cfa8b8
Binary files /dev/null and b/api/classtesting_1_1internal_1_1CartesianProductGenerator10.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator2-members.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator2-members.html b/api/classtesting_1_1internal_1_1CartesianProductGenerator2-members.html
new file mode 100644
index 0000000..88332d3
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1CartesianProductGenerator2-members.html
@@ -0,0 +1,112 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">CartesianProductGenerator2</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Begin</b>() const  (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>CartesianProductGenerator2</b>(const ParamGenerator&lt; T1 &gt; &amp;g1, const ParamGenerator&lt; T2 &gt; &amp;g2) (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>End</b>() const  (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ParamType</b> typedef (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~CartesianProductGenerator2</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~ParamGeneratorInterface</b>() (defined in <a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2 &gt; &gt;</a>)</td><td class="entry"><a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2 &gt; &gt;</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 Thu May 7 2015 17:15:46 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator2.html
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator2.html b/api/classtesting_1_1internal_1_1CartesianProductGenerator2.html
new file mode 100644
index 0000000..f939e67
--- /dev/null
+++ b/api/classtesting_1_1internal_1_1CartesianProductGenerator2.html
@@ -0,0 +1,145 @@
+<!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.6"/>
+<title>Apache SINGA: testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt; Class Template 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>testing</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classtesting_1_1internal_1_1CartesianProductGenerator2.html">CartesianProductGenerator2</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtesting_1_1internal_1_1CartesianProductGenerator2-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classtesting_1_1internal_1_1CartesianProductGenerator2.png" usemap="#testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;_map" alt=""/>
+  <map id="testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;_map" name="testing::internal::CartesianProductGenerator2&lt; T1, T2 &gt;_map">
+<area href="classtesting_1_1internal_1_1ParamGeneratorInterface.html" alt="testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2 &gt; &gt;" shape="rect" coords="0,0,406,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a036b6f14a61a69fac5d21dd7ff5b8913"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a036b6f14a61a69fac5d21dd7ff5b8913"></a>
+typedef ::<a class="el" href="classstd_1_1tr1_1_1tuple.html">std::tr1::tuple</a>&lt; T1, T2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ParamType</b></td></tr>
+<tr class="separator:a036b6f14a61a69fac5d21dd7ff5b8913"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtesting_1_1internal_1_1ParamGeneratorInterface.html">testing::internal::ParamGeneratorInterface&lt; ::std::tr1::tuple&lt; T1, T2 &gt; &gt;</a></td></tr>
+<tr class="memitem:acda0f17f9a2c528f4e85cae116a4400c inherit pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acda0f17f9a2c528f4e85cae116a4400c"></a>
+typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>ParamType</b></td></tr>
+<tr class="separator:acda0f17f9a2c528f4e85cae116a4400c inherit pub_types_classtesting_1_1internal_1_1ParamGeneratorInterface"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a971ef5a45783db277f5fae84eaef41a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a971ef5a45783db277f5fae84eaef41a3"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>CartesianProductGenerator2</b> (const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T1 &gt; &amp;g1, const <a class="el" href="classtesting_1_1internal_1_1ParamGenerator.html">ParamGenerator</a>&lt; T2 &gt; &amp;g2)</td></tr>
+<tr class="separator:a971ef5a45783db277f5fae84eaef41a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0897553749c928a1ee5ea7b581d2d59b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0897553749c928a1ee5ea7b581d2d59b"></a>
+virtual <a class="el" href="classtesting_1_1internal_1_1ParamIteratorInterface.html">ParamIteratorInterface</a><br class="typebreak"/>
+&lt; <a class="el" href="classstd_1_1tr1_1_1tuple.html">ParamType</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>Begin</b> () const </td></tr>
+<tr class="separator:a0897553749c928a1ee5ea7b581d2d59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b02163a9c9d5f0e930b0740de7e876a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b02163a9c9d5f0e930b0740de7e876a"></a>
+virtual <a class="el" href="classtesting_1_1internal_1_1ParamIteratorInterface.html">ParamIteratorInterface</a><br class="typebreak"/>
+&lt; <a class="el" href="classstd_1_1tr1_1_1tuple.html">ParamType</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>End</b> () const </td></tr>
+<tr class="separator:a3b02163a9c9d5f0e930b0740de7e876a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/gtest/<a class="el" href="gtest_8h_source.html">gtest.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:46 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classtesting_1_1internal_1_1CartesianProductGenerator2.png
----------------------------------------------------------------------
diff --git a/api/classtesting_1_1internal_1_1CartesianProductGenerator2.png b/api/classtesting_1_1internal_1_1CartesianProductGenerator2.png
new file mode 100644
index 0000000..dddd13a
Binary files /dev/null and b/api/classtesting_1_1internal_1_1CartesianProductGenerator2.png differ


[34/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ConvolutionLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ConvolutionLayer-members.html b/api/classsinga_1_1ConvolutionLayer-members.html
new file mode 100644
index 0000000..bc3f898
--- /dev/null
+++ b/api/classsinga_1_1ConvolutionLayer-members.html
@@ -0,0 +1,172 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ConvolutionLayer.html">ConvolutionLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::ConvolutionLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>batchsize_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>bias_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>channels_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>col_data_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>col_grad_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>col_height_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>col_width_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html#a2d02f88e6500f44a2df338ff23773709">connection_type</a>(int k) const </td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</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>conv_height_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>conv_width_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html#aa66cf441e0f6cd315113db2e09299a5b">GetParams</a>()</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</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>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>height_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kernel_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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"><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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>num_filters_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pad_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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" class="even"><td class="entry"><b>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1ConvolutionLayer.html#a4d942e8244380cc6f8471cfa5ffb933e">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html#a59cbc71b6a48e4dee7c87170161370f9">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>stride_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>weight_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>width_</b> (defined in <a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1ConvolutionLayer.html">singa::ConvolutionLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ConvolutionLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ConvolutionLayer.html b/api/classsinga_1_1ConvolutionLayer.html
new file mode 100644
index 0000000..ee9e92f
--- /dev/null
+++ b/api/classsinga_1_1ConvolutionLayer.html
@@ -0,0 +1,438 @@
+<!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.6"/>
+<title>Apache SINGA: singa::ConvolutionLayer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1ConvolutionLayer.html">ConvolutionLayer</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_1ConvolutionLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::ConvolutionLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Convolution layer.  
+ <a href="classsinga_1_1ConvolutionLayer.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">
+Inheritance diagram for singa::ConvolutionLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1ConvolutionLayer.png" usemap="#singa::ConvolutionLayer_map" alt=""/>
+  <map id="singa::ConvolutionLayer_map" name="singa::ConvolutionLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " alt="singa::Layer" shape="rect" coords="0,0,148,24"/>
+</map>
+ </div></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:a4d942e8244380cc6f8471cfa5ffb933e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConvolutionLayer.html#a4d942e8244380cc6f8471cfa5ffb933e">Setup</a> (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a4d942e8244380cc6f8471cfa5ffb933e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#a4d942e8244380cc6f8471cfa5ffb933e">More...</a><br/></td></tr>
+<tr class="separator:a4d942e8244380cc6f8471cfa5ffb933e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59cbc71b6a48e4dee7c87170161370f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59cbc71b6a48e4dee7c87170161370f9"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConvolutionLayer.html#a59cbc71b6a48e4dee7c87170161370f9">SetupAfterPartition</a> (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a59cbc71b6a48e4dee7c87170161370f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">need to reset some properties (e.g., weight matrix) according to shapes (after partition, e.g., partition is done against channel dimension) <br/></td></tr>
+<tr class="separator:a59cbc71b6a48e4dee7c87170161370f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b2e03c58b814b7418246b110839c363"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b2e03c58b814b7418246b110839c363"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a9b2e03c58b814b7418246b110839c363"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3a73c293dc9c2caab6949a0fd579ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d3a73c293dc9c2caab6949a0fd579ee"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a4d3a73c293dc9c2caab6949a0fd579ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa66cf441e0f6cd315113db2e09299a5b"><td class="memItemLeft" align="right" valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConvolutionLayer.html#aa66cf441e0f6cd315113db2e09299a5b">GetParams</a> ()</td></tr>
+<tr class="memdesc:aa66cf441e0f6cd315113db2e09299a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layers that have paramters must overload this function.  <a href="#aa66cf441e0f6cd315113db2e09299a5b">More...</a><br/></td></tr>
+<tr class="separator:aa66cf441e0f6cd315113db2e09299a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d02f88e6500f44a2df338ff23773709"><td class="memItemLeft" align="right" valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1ConvolutionLayer.html#a2d02f88e6500f44a2df338ff23773709">connection_type</a> (int k) const </td></tr>
+<tr class="memdesc:a2d02f88e6500f44a2df338ff23773709"><td class="mdescLeft">&#160;</td><td class="mdescRight">return connection type between two layers.  <a href="#a2d02f88e6500f44a2df338ff23773709">More...</a><br/></td></tr>
+<tr class="separator:a2d02f88e6500f44a2df338ff23773709"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> (const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">simply save the proto configuation.  <a href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy layer configuration from the other <a class="el" href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> (LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marshal layer properties and data into google protobuf object (i.e., snapshot).  <a href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> ()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fbb59219c1eeb5559431e1719e1f97"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">SetupAfterPartition</a> ()</td></tr>
+<tr class="memdesc:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties except shape. <br/></td></tr>
+<tr class="separator:a50fbb59219c1eeb5559431e1719e1f97 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a> (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute features of this layer based on connected layers.  <a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a> (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a> (const vector&lt; SLayer &gt; &amp;<a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers.  <a href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a> ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradients for parameters and connecting layers. <br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a> () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">decide on which dimension to do the partitioning.  <a href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual PartitionType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a> () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return partition type of this layer.  <a href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a> (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">location id is the execution unit (i.e., thread from the working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a> (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">partition id is the ID of the layer in the original layer. <br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_name</b> (string <a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>shape</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">data</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ad443a1e7f957dad71fd0c9b356a53c20 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab62f26448810b04d35e892ce013feac8"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ab62f26448810b04d35e892ce013feac8 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53f8fe14b76f423e7d79d2bda36523a"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr) const </td></tr>
+<tr class="separator:ae53f8fe14b76f423e7d79d2bda36523a inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a> (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *from=nullptr)</td></tr>
+<tr class="separator:ad4936117ef7d58193726a966f796fafc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> () const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> () const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit pub_methods_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit pub_methods_classsinga_1_1Layer"><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:a3a707c6a7b1a4b4b8c9bea0814ecb7f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a707c6a7b1a4b4b8c9bea0814ecb7f9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>kernel_</b></td></tr>
+<tr class="separator:a3a707c6a7b1a4b4b8c9bea0814ecb7f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a736e7b68d76defefb7ae84249273f0a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a736e7b68d76defefb7ae84249273f0a8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>pad_</b></td></tr>
+<tr class="separator:a736e7b68d76defefb7ae84249273f0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a2fdf4d35fef55051b2781b9d6af7ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a2fdf4d35fef55051b2781b9d6af7ba"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>stride_</b></td></tr>
+<tr class="separator:a0a2fdf4d35fef55051b2781b9d6af7ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4d30225f5ca195a5238a458b6daae26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4d30225f5ca195a5238a458b6daae26"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>batchsize_</b></td></tr>
+<tr class="separator:ac4d30225f5ca195a5238a458b6daae26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2232285dff2965d4c6523840c3af9a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2232285dff2965d4c6523840c3af9a9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>channels_</b></td></tr>
+<tr class="separator:ab2232285dff2965d4c6523840c3af9a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94efc0191aaed94787525a236ccbaa2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94efc0191aaed94787525a236ccbaa2b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>height_</b></td></tr>
+<tr class="separator:a94efc0191aaed94787525a236ccbaa2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a150d6cd1b2320006b95ecfc334dcd9cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a150d6cd1b2320006b95ecfc334dcd9cc"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>width_</b></td></tr>
+<tr class="separator:a150d6cd1b2320006b95ecfc334dcd9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a286a083b4f13e80cadc1691ff4a72dad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a286a083b4f13e80cadc1691ff4a72dad"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>col_height_</b></td></tr>
+<tr class="separator:a286a083b4f13e80cadc1691ff4a72dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c1fd103576bcb8411cd0e7efdcc1c85"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c1fd103576bcb8411cd0e7efdcc1c85"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>col_width_</b></td></tr>
+<tr class="separator:a7c1fd103576bcb8411cd0e7efdcc1c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3b78a3b641c8a171b933179f7e41b8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3b78a3b641c8a171b933179f7e41b8b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>conv_height_</b></td></tr>
+<tr class="separator:ad3b78a3b641c8a171b933179f7e41b8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c22ee11d87ac03a4111502182da975d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c22ee11d87ac03a4111502182da975d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>conv_width_</b></td></tr>
+<tr class="separator:a4c22ee11d87ac03a4111502182da975d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7206cbd9fb0a40d406df2c08322a074"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7206cbd9fb0a40d406df2c08322a074"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>num_filters_</b></td></tr>
+<tr class="separator:af7206cbd9fb0a40d406df2c08322a074"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad76627325a494c99956ab60638d9897a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad76627325a494c99956ab60638d9897a"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>weight_</b></td></tr>
+<tr class="separator:ad76627325a494c99956ab60638d9897a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411b82716c7d0dd6de4c8fb9726cff3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a411b82716c7d0dd6de4c8fb9726cff3d"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>bias_</b></td></tr>
+<tr class="separator:a411b82716c7d0dd6de4c8fb9726cff3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3a4a95cd444a1479ef858e1711c9f98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3a4a95cd444a1479ef858e1711c9f98"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>col_data_</b></td></tr>
+<tr class="separator:ac3a4a95cd444a1479ef858e1711c9f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60bf9c1cb65977a03161b6f7c46c5983"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60bf9c1cb65977a03161b6f7c46c5983"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>col_grad_</b></td></tr>
+<tr class="separator:a60bf9c1cb65977a03161b6f7c46c5983"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit pro_attribs_classsinga_1_1Layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit pro_attribs_classsinga_1_1Layer"><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>Convolution layer. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2d02f88e6500f44a2df338ff23773709"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual ConnectionType singa::ConvolutionLayer::connection_type </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em></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>return connection type between two layers. </p>
+<p>Currently support two connections: kOneToOne, and kOneToAll. kOneToOne indicates the dst neuron depends on only one neuron from src layer. kOneToAll indicates the dst neuron depends on all neurons from src layer. TODO support kOneToMany. </p>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa66cf441e0f6cd315113db2e09299a5b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual vector&lt;shared_ptr&lt;<a class="el" href="classsinga_1_1Param.html">Param</a>&gt; &gt; singa::ConvolutionLayer::GetParams </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 class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Layers that have paramters must overload this function. </p>
+<dl class="section return"><dt>Returns</dt><dd>parameters associated with this layer </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4d942e8244380cc6f8471cfa5ffb933e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::ConvolutionLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</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">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<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 Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1ConvolutionLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1ConvolutionLayer.png b/api/classsinga_1_1ConvolutionLayer.png
new file mode 100644
index 0000000..741643e
Binary files /dev/null and b/api/classsinga_1_1ConvolutionLayer.png differ


[32/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DataShard.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DataShard.html b/api/classsinga_1_1DataShard.html
new file mode 100644
index 0000000..23a0f1c
--- /dev/null
+++ b/api/classsinga_1_1DataShard.html
@@ -0,0 +1,555 @@
+<!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.6"/>
+<title>Apache SINGA: singa::DataShard 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1DataShard.html">DataShard</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classsinga_1_1DataShard-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::DataShard Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Data shard stores training/validation/test tuples.  
+ <a href="classsinga_1_1DataShard.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="data__shard_8h_source.html">data_shard.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a5ac705d39e7311c547c49302085b356d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classsinga_1_1DataShard.html#a5ac705d39e7311c547c49302085b356daa9137a258a61dcfcac6c1178671a8bd2">kRead</a> =0, 
+<a class="el" href="classsinga_1_1DataShard.html#a5ac705d39e7311c547c49302085b356da1a654b4408789f3c0ab4801ed70844cf">kCreate</a> =1, 
+<b>kAppend</b> =2
+ }</td></tr>
+<tr class="separator:a5ac705d39e7311c547c49302085b356d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a6e77727aecc2f9c02b1de6f23bd2a897"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#a6e77727aecc2f9c02b1de6f23bd2a897">DataShard</a> (std::string folder, char mode, int capacity=104857600)</td></tr>
+<tr class="memdesc:a6e77727aecc2f9c02b1de6f23bd2a897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init the shard obj.  <a href="#a6e77727aecc2f9c02b1de6f23bd2a897">More...</a><br/></td></tr>
+<tr class="separator:a6e77727aecc2f9c02b1de6f23bd2a897"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8c2ef534766e7791b7a442175488272"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#af8c2ef534766e7791b7a442175488272">Next</a> (std::string *key, Message *val)</td></tr>
+<tr class="memdesc:af8c2ef534766e7791b7a442175488272"><td class="mdescLeft">&#160;</td><td class="mdescRight">read next tuple from the shard.  <a href="#af8c2ef534766e7791b7a442175488272">More...</a><br/></td></tr>
+<tr class="separator:af8c2ef534766e7791b7a442175488272"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9532ec3d004d4a09cf2329daa1eb49c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#ad9532ec3d004d4a09cf2329daa1eb49c">Next</a> (std::string *key, std::string *val)</td></tr>
+<tr class="memdesc:ad9532ec3d004d4a09cf2329daa1eb49c"><td class="mdescLeft">&#160;</td><td class="mdescRight">read next tuple from the shard.  <a href="#ad9532ec3d004d4a09cf2329daa1eb49c">More...</a><br/></td></tr>
+<tr class="separator:ad9532ec3d004d4a09cf2329daa1eb49c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb51034daa81769ee59f7367eb29aeac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#abb51034daa81769ee59f7367eb29aeac">Insert</a> (const std::string &amp;key, const Message &amp;tuple)</td></tr>
+<tr class="memdesc:abb51034daa81769ee59f7367eb29aeac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append one tuple to the shard.  <a href="#abb51034daa81769ee59f7367eb29aeac">More...</a><br/></td></tr>
+<tr class="separator:abb51034daa81769ee59f7367eb29aeac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae77af51b5e1f89f7e11212a781c8882e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#ae77af51b5e1f89f7e11212a781c8882e">Insert</a> (const std::string &amp;key, const std::string &amp;tuple)</td></tr>
+<tr class="memdesc:ae77af51b5e1f89f7e11212a781c8882e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append one tuple to the shard.  <a href="#ae77af51b5e1f89f7e11212a781c8882e">More...</a><br/></td></tr>
+<tr class="separator:ae77af51b5e1f89f7e11212a781c8882e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5dc1c875bcca99c4cf93ec79d65d3b6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#a5dc1c875bcca99c4cf93ec79d65d3b6e">SeekToFirst</a> ()</td></tr>
+<tr class="memdesc:a5dc1c875bcca99c4cf93ec79d65d3b6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the read pointer to the head of the shard file.  <a href="#a5dc1c875bcca99c4cf93ec79d65d3b6e">More...</a><br/></td></tr>
+<tr class="separator:a5dc1c875bcca99c4cf93ec79d65d3b6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae73c176fca13d4aa7389af7cff327e77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#ae73c176fca13d4aa7389af7cff327e77">Flush</a> ()</td></tr>
+<tr class="memdesc:ae73c176fca13d4aa7389af7cff327e77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush buffered data to disk.  <a href="#ae73c176fca13d4aa7389af7cff327e77">More...</a><br/></td></tr>
+<tr class="separator:ae73c176fca13d4aa7389af7cff327e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a981e05115560a0f2cd9eac910e98fd25"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#a981e05115560a0f2cd9eac910e98fd25">Count</a> ()</td></tr>
+<tr class="memdesc:a981e05115560a0f2cd9eac910e98fd25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through all tuples to get the num of all tuples.  <a href="#a981e05115560a0f2cd9eac910e98fd25">More...</a><br/></td></tr>
+<tr class="separator:a981e05115560a0f2cd9eac910e98fd25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a67c81cb0a56c990b0f750e4b2aff31"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#a0a67c81cb0a56c990b0f750e4b2aff31">path</a> ()</td></tr>
+<tr class="separator:a0a67c81cb0a56c990b0f750e4b2aff31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a749fbab9c9e910ec559100694ea38332"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#a749fbab9c9e910ec559100694ea38332">Next</a> (std::string *key)</td></tr>
+<tr class="memdesc:a749fbab9c9e910ec559100694ea38332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the next key and prepare buffer for reading value.  <a href="#a749fbab9c9e910ec559100694ea38332">More...</a><br/></td></tr>
+<tr class="separator:a749fbab9c9e910ec559100694ea38332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5ac9de0e9760be5142a968fd5602d19"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#af5ac9de0e9760be5142a968fd5602d19">PrepareForAppend</a> (std::string <a class="el" href="classsinga_1_1DataShard.html#a0a67c81cb0a56c990b0f750e4b2aff31">path</a>)</td></tr>
+<tr class="memdesc:af5ac9de0e9760be5142a968fd5602d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the disk pointer to the right position for append in case that the pervious write crashes.  <a href="#af5ac9de0e9760be5142a968fd5602d19">More...</a><br/></td></tr>
+<tr class="separator:af5ac9de0e9760be5142a968fd5602d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a651e8bfe357f5bed8dd59470262fd3b4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1DataShard.html#a651e8bfe357f5bed8dd59470262fd3b4">PrepareNextField</a> (int size)</td></tr>
+<tr class="memdesc:a651e8bfe357f5bed8dd59470262fd3b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from disk if the current data in the buffer is not a full field.  <a href="#a651e8bfe357f5bed8dd59470262fd3b4">More...</a><br/></td></tr>
+<tr class="separator:a651e8bfe357f5bed8dd59470262fd3b4"><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>Data shard stores training/validation/test tuples. </p>
+<p>Every worker node should have a training shard (validation/test shard is optional). The shard file for training is singa::Cluster::workspace()/train/shard.dat; The shard file for validation is singa::Cluster::workspace()/train/shard.dat; Similar path for test.</p>
+<p>shard.dat consists of a set of unordered tuples. Each tuple is encoded as [key_len key record_len val] (key_len and record_len are of type uint32, which indicate the bytes of key and record respectively.</p>
+<p>When Shard obj is created, it will remove the last key if the record size and key size do not match because the last write of tuple crashed.</p>
+<p>TODO</p>
+<ol type="1">
+<li>split one shard into multile shards.</li>
+<li>add threading to prefetch and parse records </li>
+</ol>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a class="anchor" id="a5ac705d39e7311c547c49302085b356d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anonymous enum</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5ac705d39e7311c547c49302085b356daa9137a258a61dcfcac6c1178671a8bd2"></a>kRead</em>&#160;</td><td class="fielddoc">
+<p>read only mode used in training </p>
+<p>write mode used in creating shard (will overwrite previous one) </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a5ac705d39e7311c547c49302085b356da1a654b4408789f3c0ab4801ed70844cf"></a>kCreate</em>&#160;</td><td class="fielddoc">
+<p>append mode, e.g. used when previous creating crashes </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6e77727aecc2f9c02b1de6f23bd2a897"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">singa::DataShard::DataShard </td>
+          <td>(</td>
+          <td class="paramtype">std::string&#160;</td>
+          <td class="paramname"><em>folder</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>mode</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>capacity</em> = <code>104857600</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Init the shard obj. </p>
+<p>shard folder (path excluding shard.dat) on worker node  shard open mode, Shard::kRead, Shard::kWrite or Shard::kAppend  batch bufsize bytes data for every disk op (read or write), default is 100MB </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a981e05115560a0f2cd9eac910e98fd25"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const int singa::DataShard::Count </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Iterate through all tuples to get the num of all tuples. </p>
+<dl class="section return"><dt>Returns</dt><dd>num of tuples </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae73c176fca13d4aa7389af7cff327e77"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::DataShard::Flush </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Flush buffered data to disk. </p>
+<p>Used only for kCreate or kAppend. </p>
+
+</div>
+</div>
+<a class="anchor" id="abb51034daa81769ee59f7367eb29aeac"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::DataShard::Insert </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Message &amp;&#160;</td>
+          <td class="paramname"><em>tuple</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Append one tuple to the shard. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">key</td><td>e.g., image path </td></tr>
+    <tr><td class="paramname">val</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>reture if sucess, otherwise false, e.g., inserted before </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae77af51b5e1f89f7e11212a781c8882e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::DataShard::Insert </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>tuple</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Append one tuple to the shard. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">key</td><td>e.g., image path </td></tr>
+    <tr><td class="paramname">val</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>reture if sucess, otherwise false, e.g., inserted before </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af8c2ef534766e7791b7a442175488272"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::DataShard::Next </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Message *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>read next tuple from the shard. </p>
+<p>key </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">val</td><td>record of type Message </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if read success otherwise false, e.g., the tuple was not inserted completely. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad9532ec3d004d4a09cf2329daa1eb49c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::DataShard::Next </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>read next tuple from the shard. </p>
+<p>key tuple key </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">val</td><td>record of type string </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if read success otherwise false, e.g., the tuple was not inserted completely. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a749fbab9c9e910ec559100694ea38332"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int singa::DataShard::Next </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read the next key and prepare buffer for reading value. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">key</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>length (i.e., bytes) of value field. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0a67c81cb0a56c990b0f750e4b2aff31"></a>
+<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::DataShard::path </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">
+<dl class="section return"><dt>Returns</dt><dd>path to shard file </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af5ac9de0e9760be5142a968fd5602d19"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int singa::DataShard::PrepareForAppend </td>
+          <td>(</td>
+          <td class="paramtype">std::string&#160;</td>
+          <td class="paramname"><em>path</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the disk pointer to the right position for append in case that the pervious write crashes. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">path</td><td>shard path. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>offset (end pos) of the last success written record. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a651e8bfe357f5bed8dd59470262fd3b4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool singa::DataShard::PrepareNextField </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>size</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read data from disk if the current data in the buffer is not a full field. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">size</td><td>size of the next field. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5dc1c875bcca99c4cf93ec79d65d3b6e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void singa::DataShard::SeekToFirst </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Move the read pointer to the head of the shard file. </p>
+<p>Used for repeated reading. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/utils/<a class="el" href="data__shard_8h_source.html">data_shard.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Dealer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Dealer-members.html b/api/classsinga_1_1Dealer-members.html
new file mode 100644
index 0000000..1729330
--- /dev/null
+++ b/api/classsinga_1_1Dealer-members.html
@@ -0,0 +1,118 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Dealer.html">Dealer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Dealer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Dealer.html#aa395131f3cea3619927da31457c54a2d">Connect</a>(string endpoint)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Dealer</b>(int id=-1) (defined in <a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dealer_</b> (defined in <a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>id_</b> (defined in <a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Dealer.html#a9f25d3caeb2014c27f5f2459a65b1279">InternalID</a>() const </td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_id_</b> (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>poller_</b> (defined in <a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Dealer.html#ae696a75b0ee56234d68af0b1d5104797">Receive</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Dealer.html#a558c7ea2f5facda55b73bdde8a147c9b">Send</a>(Msg *msg)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Socket</b>() (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Dealer</b>() (defined in <a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Dealer.html">singa::Dealer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Socket</b>() (defined in <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Socket.html">singa::Socket</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 Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Dealer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Dealer.html b/api/classsinga_1_1Dealer.html
new file mode 100644
index 0000000..3939940
--- /dev/null
+++ b/api/classsinga_1_1Dealer.html
@@ -0,0 +1,277 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Dealer 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1Dealer.html">Dealer</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_1Dealer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Dealer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::Dealer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Dealer.png" usemap="#singa::Dealer_map" alt=""/>
+  <map id="singa::Dealer_map" name="singa::Dealer_map">
+<area href="classsinga_1_1Socket.html" alt="singa::Socket" shape="rect" coords="0,0,86,24"/>
+</map>
+ </div></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:ac450f080e8fd66a5969eee459abb297a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac450f080e8fd66a5969eee459abb297a"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Dealer</b> (int id=-1)</td></tr>
+<tr class="separator:ac450f080e8fd66a5969eee459abb297a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa395131f3cea3619927da31457c54a2d"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Dealer.html#aa395131f3cea3619927da31457c54a2d">Connect</a> (string endpoint)</td></tr>
+<tr class="memdesc:aa395131f3cea3619927da31457c54a2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the connection with the router.  <a href="#aa395131f3cea3619927da31457c54a2d">More...</a><br/></td></tr>
+<tr class="separator:aa395131f3cea3619927da31457c54a2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558c7ea2f5facda55b73bdde8a147c9b"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Dealer.html#a558c7ea2f5facda55b73bdde8a147c9b">Send</a> (<a class="el" href="classsinga_1_1Msg.html">Msg</a> *msg)</td></tr>
+<tr class="memdesc:a558c7ea2f5facda55b73bdde8a147c9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a message to connected socket(s), non-blocking.  <a href="#a558c7ea2f5facda55b73bdde8a147c9b">More...</a><br/></td></tr>
+<tr class="separator:a558c7ea2f5facda55b73bdde8a147c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae696a75b0ee56234d68af0b1d5104797"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Dealer.html#ae696a75b0ee56234d68af0b1d5104797">Receive</a> ()</td></tr>
+<tr class="memdesc:ae696a75b0ee56234d68af0b1d5104797"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message from any connected socket.  <a href="#ae696a75b0ee56234d68af0b1d5104797">More...</a><br/></td></tr>
+<tr class="separator:ae696a75b0ee56234d68af0b1d5104797"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f25d3caeb2014c27f5f2459a65b1279"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Dealer.html#a9f25d3caeb2014c27f5f2459a65b1279">InternalID</a> () const </td></tr>
+<tr class="separator:a9f25d3caeb2014c27f5f2459a65b1279"><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:a819b94496dd1739d340075506f94e18f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a819b94496dd1739d340075506f94e18f"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>id_</b></td></tr>
+<tr class="separator:a819b94496dd1739d340075506f94e18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab9b4064948179212eacab263fc62032"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab9b4064948179212eacab263fc62032"></a>
+zsock_t *&#160;</td><td class="memItemRight" valign="bottom"><b>dealer_</b></td></tr>
+<tr class="separator:aab9b4064948179212eacab263fc62032"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaee5341b38323d095ac64e56b3668513"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaee5341b38323d095ac64e56b3668513"></a>
+zpoller_t *&#160;</td><td class="memItemRight" valign="bottom"><b>poller_</b></td></tr>
+<tr class="separator:aaee5341b38323d095ac64e56b3668513"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Socket"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Socket')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td></tr>
+<tr class="memitem:a548707780610342ac0788f9abf21a0c5 inherit pro_attribs_classsinga_1_1Socket"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a548707780610342ac0788f9abf21a0c5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>local_id_</b></td></tr>
+<tr class="separator:a548707780610342ac0788f9abf21a0c5 inherit pro_attribs_classsinga_1_1Socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aa395131f3cea3619927da31457c54a2d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::Dealer::Connect </td>
+          <td>(</td>
+          <td class="paramtype">string&#160;</td>
+          <td class="paramname"><em>endpoint</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the connection with the router. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">endpoint</td><td>identifier of the router. For intra-process connection, the endpoint follows the format of ZeroMQ, i.e., starting with "inproc://"; in Singa, since each process has one router, hence we can fix the endpoint to be "inproc://router" for intra-process. For inter-process, the endpoint follows ZeroMQ's format, i.e., IP:port, where IP is the connected process. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 connection sets up successfully; 0 otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9f25d3caeb2014c27f5f2459a65b1279"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void* singa::Dealer::InternalID </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">
+<dl class="section return"><dt>Returns</dt><dd>Identifier of the implementation dependent socket. E.g., zsock_t* for ZeroMQ implementation and rank for MPI implementation. </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Socket.html#a021de3273ade2a1f3b447e04888a0701">singa::Socket</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae696a75b0ee56234d68af0b1d5104797"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classsinga_1_1Msg.html">Msg</a>* singa::Dealer::Receive </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Receive a message from any connected socket. </p>
+<dl class="section return"><dt>Returns</dt><dd>a message pointer if success; nullptr if failure </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Socket.html#a66dec7b6c67f6dd1407f2ce53d4eb5cb">singa::Socket</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a558c7ea2f5facda55b73bdde8a147c9b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::Dealer::Send </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classsinga_1_1Msg.html">Msg</a> *&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Send a message to connected socket(s), non-blocking. </p>
+<p>The message will be deallocated after sending, thus should not be used after calling <a class="el" href="classsinga_1_1Dealer.html#a558c7ea2f5facda55b73bdde8a147c9b" title="Send a message to connected socket(s), non-blocking. ">Send()</a>; </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">the</td><td>message to be sent </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 for success queuing the message for sending, 0 for failure </dd></dl>
+
+<p>Implements <a class="el" href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7">singa::Socket</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="socket_8h_source.html">socket.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Dealer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Dealer.png b/api/classsinga_1_1Dealer.png
new file mode 100644
index 0000000..ba944cd
Binary files /dev/null and b/api/classsinga_1_1Dealer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1DropoutLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1DropoutLayer-members.html b/api/classsinga_1_1DropoutLayer-members.html
new file mode 100644
index 0000000..e3c2010
--- /dev/null
+++ b/api/classsinga_1_1DropoutLayer-members.html
@@ -0,0 +1,158 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1DropoutLayer.html">DropoutLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::DropoutLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AddDstLayer</b>(SLayer dst) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool training)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int k) 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#ad443a1e7f957dad71fd0c9b356a53c20">data</a>(const Layer *from=nullptr) 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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</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#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_</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 bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</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 bgcolor="#f0f0f0"><td class="entry"><b>grad</b>(const Layer *from=nullptr) const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad_</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#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const LayerProto &amp;proto)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_bridgesrclayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</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">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mask_</b> (defined in <a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_data</b>(const Layer *from=nullptr) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">mutable_grad</a>(const Layer *from=nullptr)</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#abc76f037afc13a17ab07082cfae945de">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"><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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>partitiionid</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</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#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_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 bgcolor="#f0f0f0"><td class="entry"><b>pdrop_</b> (defined in <a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a>)</td><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</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#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int id)</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>set_name</b>(string name) (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int id)</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_1DropoutLayer.html#a3b2016cbb63ea661e3abef8dd0b392c9">Setup</a>(const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html#a51b6005a831bf92b3ed5107b96efe5e1">SetupAfterPartition</a>(const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" href="classsinga_1_1DropoutLayer.html">singa::DropoutLayer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a50fbb59219c1eeb5559431e1719e1f97">singa::Layer::SetupAfterPartition</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer *layer=nullptr) const  (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">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</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 bgcolor="#f0f0f0"><td class="entry"><b>srclayers_</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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_size</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto *layer_proto, bool copyData)</td><td class="entry"><a class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>type</b>() const  (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">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Layer</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">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:42 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>


[38/57] [partial] incubator-singa git commit: create github pages

Posted by wa...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BPWorker-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BPWorker-members.html b/api/classsinga_1_1BPWorker-members.html
new file mode 100644
index 0000000..2246ac2
--- /dev/null
+++ b/api/classsinga_1_1BPWorker-members.html
@@ -0,0 +1,144 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BPWorker.html">BPWorker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BPWorker Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Backward</b>(shared_ptr&lt; NeuralNet &gt; net, int step) (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>BPWorker</b>(int group_id, int worker_id) (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af57fd6fd480a9daf414469d4e6849b0f">CheckpointNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Collect</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DisplayDebugInfo</b>(const int step) const  (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a15364c773523b09c03b00c3d9793dd57">DisplayNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Forward</b>(shared_ptr&lt; NeuralNet &gt; net, int step, bool training) (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Get</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>group_id_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_dealer_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>layer_poller_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>modelproto_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>param_dealer_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>param_poller_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pmworker_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Put</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#ad7119a98731a8d63b3ba145b8cc7e171">ReceiveBlobs</a>(shared_ptr&lt; NeuralNet &gt; net)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989">Run</a>()</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#af70362e1ae56e63adcbb666d8bef35c6">RunOneBatch</a>(int step, Performance *perf=nullptr)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SendBlob</b>() (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_test_net</b>(shared_ptr&lt; NeuralNet &gt; test_net) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_validation_net</b>(shared_ptr&lt; NeuralNet &gt; val_net) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Setup</b>(const ModelProto &amp;model, shared_ptr&lt; NeuralNet &gt; train_net, shared_ptr&lt; PMWorker::ParamShard &gt; shard, shared_ptr&lt; Dealer &gt; layer_dealer, shared_ptr&lt; Dealer &gt; param_dealer) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>step_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a1599441b419bbe24d7ffabc5407dd37b">StopNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a817009e9eedd31d6cecb8f4c8d492df9">Test</a>(shared_ptr&lt; NeuralNet &gt; net, int nsteps, bool dispperf)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>test_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a46d34f350ff773b8fb45c5d8e7a1b86c">TestNow</a>(const int step) const </td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html#aeac55391b6a1dff32f94d3ffa227fc69">TestOneBatch</a>(shared_ptr&lt; NeuralNet &gt; net, int step, Phase phase)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>train_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html#afac1651ac5ea36b72f24bffbb9e43e76">TrainOneBatch</a>(int step)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Update</b>(shared_ptr&lt; Param &gt; param, int step) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1Worker.html#a7a485609747a535fe880062848d11a92">ValidateNow</a>(const int step)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>validation_net_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Worker</b>(int group_id, int worker_id) (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>worker_id_</b> (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~BPWorker</b>() (defined in <a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BPWorker.html">singa::BPWorker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Worker</b>() (defined in <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a>)</td><td class="entry"><a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BPWorker.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BPWorker.html b/api/classsinga_1_1BPWorker.html
new file mode 100644
index 0000000..1e2c505
--- /dev/null
+++ b/api/classsinga_1_1BPWorker.html
@@ -0,0 +1,267 @@
+<!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.6"/>
+<title>Apache SINGA: singa::BPWorker 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BPWorker.html">BPWorker</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_1BPWorker-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BPWorker Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::BPWorker:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BPWorker.png" usemap="#singa::BPWorker_map" alt=""/>
+  <map id="singa::BPWorker_map" name="singa::BPWorker_map">
+<area href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. " alt="singa::Worker" shape="rect" coords="0,0,105,24"/>
+</map>
+ </div></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:a88e35c06bdd368b7347564fb8499a9a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88e35c06bdd368b7347564fb8499a9a2"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>BPWorker</b> (int group_id, int worker_id)</td></tr>
+<tr class="separator:a88e35c06bdd368b7347564fb8499a9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afac1651ac5ea36b72f24bffbb9e43e76"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BPWorker.html#afac1651ac5ea36b72f24bffbb9e43e76">TrainOneBatch</a> (int step)</td></tr>
+<tr class="memdesc:afac1651ac5ea36b72f24bffbb9e43e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Train one mini-batch.  <a href="#afac1651ac5ea36b72f24bffbb9e43e76">More...</a><br/></td></tr>
+<tr class="separator:afac1651ac5ea36b72f24bffbb9e43e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeac55391b6a1dff32f94d3ffa227fc69"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeac55391b6a1dff32f94d3ffa227fc69"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BPWorker.html#aeac55391b6a1dff32f94d3ffa227fc69">TestOneBatch</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step, Phase phase)</td></tr>
+<tr class="memdesc:aeac55391b6a1dff32f94d3ffa227fc69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test/validate one mini-batch. <br/></td></tr>
+<tr class="separator:aeac55391b6a1dff32f94d3ffa227fc69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2c5f9757ff19a112e52c222fe2ce946"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2c5f9757ff19a112e52c222fe2ce946"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Forward</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step, bool training)</td></tr>
+<tr class="separator:aa2c5f9757ff19a112e52c222fe2ce946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2297229a3883995a302138e15f6a1092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2297229a3883995a302138e15f6a1092"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Backward</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int step)</td></tr>
+<tr class="separator:a2297229a3883995a302138e15f6a1092"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Worker"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Worker')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td></tr>
+<tr class="memitem:af453bff86049b2f07ea110130654aa39 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af453bff86049b2f07ea110130654aa39"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Worker</b> (int group_id, int worker_id)</td></tr>
+<tr class="separator:af453bff86049b2f07ea110130654aa39 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeaeb2893af5698d0469e74fa49534423 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaeb2893af5698d0469e74fa49534423"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (const ModelProto &amp;model, shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; train_net, shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html#a2c6442319470a4f557921c7088338afc">PMWorker::ParamShard</a> &gt; shard, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; layer_dealer, shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt; param_dealer)</td></tr>
+<tr class="separator:aeaeb2893af5698d0469e74fa49534423 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4bf7cc4f12a8f3dcbcce897bc7bc528 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4bf7cc4f12a8f3dcbcce897bc7bc528"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_test_net</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; test_net)</td></tr>
+<tr class="separator:aa4bf7cc4f12a8f3dcbcce897bc7bc528 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55c6895985166b5a92506cdc84532025 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c6895985166b5a92506cdc84532025"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_validation_net</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; val_net)</td></tr>
+<tr class="separator:a55c6895985166b5a92506cdc84532025 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d799c94ae2397ff86e7c95ce9b25477 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d799c94ae2397ff86e7c95ce9b25477"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Put</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a7d799c94ae2397ff86e7c95ce9b25477 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99c9da87f8f93ba661609c5b1257a7c0 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99c9da87f8f93ba661609c5b1257a7c0"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a99c9da87f8f93ba661609c5b1257a7c0 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a361796e7c92d18cfcd8245e3744b31c9 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a361796e7c92d18cfcd8245e3744b31c9"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a361796e7c92d18cfcd8245e3744b31c9 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51307899005e044b3096dcdded84d837 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51307899005e044b3096dcdded84d837"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>Collect</b> (shared_ptr&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; param, int step)</td></tr>
+<tr class="separator:a51307899005e044b3096dcdded84d837 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af70362e1ae56e63adcbb666d8bef35c6 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af70362e1ae56e63adcbb666d8bef35c6">RunOneBatch</a> (int step, <a class="el" href="classsinga_1_1Performance.html">Performance</a> *perf=nullptr)</td></tr>
+<tr class="memdesc:af70362e1ae56e63adcbb666d8bef35c6 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">check validation/test firstly, then TrainOneBatch <a class="el" href="classsinga_1_1Performance.html" title="Collecting metrics, like accuracy, loss, etc. ">Performance</a> collects performance for the whole neuralnet.  <a href="#af70362e1ae56e63adcbb666d8bef35c6">More...</a><br/></td></tr>
+<tr class="separator:af70362e1ae56e63adcbb666d8bef35c6 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a817009e9eedd31d6cecb8f4c8d492df9 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a817009e9eedd31d6cecb8f4c8d492df9">Test</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net, int nsteps, bool dispperf)</td></tr>
+<tr class="memdesc:a817009e9eedd31d6cecb8f4c8d492df9 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test the perforance of the learned model on validation or test dataset.  <a href="#a817009e9eedd31d6cecb8f4c8d492df9">More...</a><br/></td></tr>
+<tr class="separator:a817009e9eedd31d6cecb8f4c8d492df9 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8d30de06d18aa5946ff553c419a6989 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af8d30de06d18aa5946ff553c419a6989">Run</a> ()</td></tr>
+<tr class="memdesc:af8d30de06d18aa5946ff553c419a6989 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function of <a class="el" href="classsinga_1_1Worker.html" title="The Worker class which runs the training algorithm. ">Worker</a>.  <a href="#af8d30de06d18aa5946ff553c419a6989">More...</a><br/></td></tr>
+<tr class="separator:af8d30de06d18aa5946ff553c419a6989 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15364c773523b09c03b00c3d9793dd57 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a15364c773523b09c03b00c3d9793dd57">DisplayNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a15364c773523b09c03b00c3d9793dd57 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pull data from layers resident on other nodes due to Model Partition.  <a href="#a15364c773523b09c03b00c3d9793dd57">More...</a><br/></td></tr>
+<tr class="separator:a15364c773523b09c03b00c3d9793dd57 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a162ea95ec3f467879b20fdcdc16fa96e inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a162ea95ec3f467879b20fdcdc16fa96e"></a>
+const bool&#160;</td><td class="memItemRight" valign="bottom"><b>DisplayDebugInfo</b> (const int step) const </td></tr>
+<tr class="separator:a162ea95ec3f467879b20fdcdc16fa96e inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1599441b419bbe24d7ffabc5407dd37b inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1599441b419bbe24d7ffabc5407dd37b"></a>
+const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a1599441b419bbe24d7ffabc5407dd37b">StopNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a1599441b419bbe24d7ffabc5407dd37b inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">return true if the stop condition is satisfied, e.g., the maximum number of steps have been reached. <br/></td></tr>
+<tr class="separator:a1599441b419bbe24d7ffabc5407dd37b inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af57fd6fd480a9daf414469d4e6849b0f inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#af57fd6fd480a9daf414469d4e6849b0f">CheckpointNow</a> (const int step) const </td></tr>
+<tr class="memdesc:af57fd6fd480a9daf414469d4e6849b0f inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do checkpoint.  <a href="#af57fd6fd480a9daf414469d4e6849b0f">More...</a><br/></td></tr>
+<tr class="separator:af57fd6fd480a9daf414469d4e6849b0f inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46d34f350ff773b8fb45c5d8e7a1b86c inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a46d34f350ff773b8fb45c5d8e7a1b86c">TestNow</a> (const int step) const </td></tr>
+<tr class="memdesc:a46d34f350ff773b8fb45c5d8e7a1b86c inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do test.  <a href="#a46d34f350ff773b8fb45c5d8e7a1b86c">More...</a><br/></td></tr>
+<tr class="separator:a46d34f350ff773b8fb45c5d8e7a1b86c inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a485609747a535fe880062848d11a92 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#a7a485609747a535fe880062848d11a92">ValidateNow</a> (const int step)</td></tr>
+<tr class="memdesc:a7a485609747a535fe880062848d11a92 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is it time to do validation.  <a href="#a7a485609747a535fe880062848d11a92">More...</a><br/></td></tr>
+<tr class="separator:a7a485609747a535fe880062848d11a92 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7119a98731a8d63b3ba145b8cc7e171 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Worker.html#ad7119a98731a8d63b3ba145b8cc7e171">ReceiveBlobs</a> (shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt; net)</td></tr>
+<tr class="memdesc:ad7119a98731a8d63b3ba145b8cc7e171 inherit pub_methods_classsinga_1_1Worker"><td class="mdescLeft">&#160;</td><td class="mdescRight">start training from scratch.  <a href="#ad7119a98731a8d63b3ba145b8cc7e171">More...</a><br/></td></tr>
+<tr class="separator:ad7119a98731a8d63b3ba145b8cc7e171 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adff5681d83ef0bc6ecbd1eb322eccc99 inherit pub_methods_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff5681d83ef0bc6ecbd1eb322eccc99"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>SendBlob</b> ()</td></tr>
+<tr class="separator:adff5681d83ef0bc6ecbd1eb322eccc99 inherit pub_methods_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Worker"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Worker')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classsinga_1_1Worker.html">singa::Worker</a></td></tr>
+<tr class="memitem:a96e5aeb1b3d9be29b5b5977d388cf1ce inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96e5aeb1b3d9be29b5b5977d388cf1ce"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>group_id_</b></td></tr>
+<tr class="separator:a96e5aeb1b3d9be29b5b5977d388cf1ce inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac396851816f86c3ccb2e66c94468823d inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac396851816f86c3ccb2e66c94468823d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>worker_id_</b></td></tr>
+<tr class="separator:ac396851816f86c3ccb2e66c94468823d inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94782c6f00760500ac65e2eaea4a092b inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94782c6f00760500ac65e2eaea4a092b"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>step_</b></td></tr>
+<tr class="separator:a94782c6f00760500ac65e2eaea4a092b inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24d7ebd724da0ceff08d1bbdacfe860c inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24d7ebd724da0ceff08d1bbdacfe860c"></a>
+ModelProto&#160;</td><td class="memItemRight" valign="bottom"><b>modelproto_</b></td></tr>
+<tr class="separator:a24d7ebd724da0ceff08d1bbdacfe860c inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac09b72e7a0cbb797559d49bad7cf4097 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac09b72e7a0cbb797559d49bad7cf4097"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1PMWorker.html">PMWorker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pmworker_</b></td></tr>
+<tr class="separator:ac09b72e7a0cbb797559d49bad7cf4097 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecd59304a118afa5e06add08bbeca2cc inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecd59304a118afa5e06add08bbeca2cc"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>train_net_</b></td></tr>
+<tr class="separator:aecd59304a118afa5e06add08bbeca2cc inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad543a97767e7cb879a0d861aee933de6 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad543a97767e7cb879a0d861aee933de6"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>test_net_</b></td></tr>
+<tr class="separator:ad543a97767e7cb879a0d861aee933de6 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab3b1ffc2c18ae47b3e0fba98a9a4553 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab3b1ffc2c18ae47b3e0fba98a9a4553"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1NeuralNet.html">NeuralNet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>validation_net_</b></td></tr>
+<tr class="separator:aab3b1ffc2c18ae47b3e0fba98a9a4553 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2bbbc4c5c90c0969227b714f6e1485f inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2bbbc4c5c90c0969227b714f6e1485f"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_dealer_</b></td></tr>
+<tr class="separator:ae2bbbc4c5c90c0969227b714f6e1485f inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b8909722056e62da4dca4c52f82fbd1 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b8909722056e62da4dca4c52f82fbd1"></a>
+shared_ptr&lt; <a class="el" href="classsinga_1_1Dealer.html">Dealer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_dealer_</b></td></tr>
+<tr class="separator:a1b8909722056e62da4dca4c52f82fbd1 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cd37cd37fb2f222cf8a565a6cc37299 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cd37cd37fb2f222cf8a565a6cc37299"></a>
+<a class="el" href="classsinga_1_1Poller.html">Poller</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layer_poller_</b></td></tr>
+<tr class="separator:a1cd37cd37fb2f222cf8a565a6cc37299 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c1a7a2d6ca1d90b4ac7e0837e7788a1 inherit pro_attribs_classsinga_1_1Worker"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c1a7a2d6ca1d90b4ac7e0837e7788a1"></a>
+<a class="el" href="classsinga_1_1Poller.html">Poller</a>&#160;</td><td class="memItemRight" valign="bottom"><b>param_poller_</b></td></tr>
+<tr class="separator:a9c1a7a2d6ca1d90b4ac7e0837e7788a1 inherit pro_attribs_classsinga_1_1Worker"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afac1651ac5ea36b72f24bffbb9e43e76"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BPWorker::TrainOneBatch </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>step</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Train one mini-batch. </p>
+<p>Test/Validation is done before training. </p>
+
+<p>Implements <a class="el" href="classsinga_1_1Worker.html#a62b15f701a0203635255479a4dd2e9bc">singa::Worker</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/trainer/<a class="el" href="worker_8h_source.html">worker.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:43 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BPWorker.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BPWorker.png b/api/classsinga_1_1BPWorker.png
new file mode 100644
index 0000000..d8678ea
Binary files /dev/null and b/api/classsinga_1_1BPWorker.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BaseMsg-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BaseMsg-members.html b/api/classsinga_1_1BaseMsg-members.html
new file mode 100644
index 0000000..c08a219
--- /dev/null
+++ b/api/classsinga_1_1BaseMsg-members.html
@@ -0,0 +1,127 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BaseMsg Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#af71fcc84d739ea852ae6255a5d60727a">add_frame</a>(const void *, int nBytes)=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#aa78c849901d38f5cb8f8c524ef085866">CopyAddr</a>()=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dst_flag</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>dst_group_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dst_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>frame_data</b>()=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>frame_size</b>()=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#a619706d23b0c1927069040e1d3ba604a">next_frame</a>()=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_dst</b>(int group_id, int id, int flag)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_dst</b>(int procs_id, int flag)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#ad13b31cea0f4b16025d36205a979c12b">set_src</a>(int group_id, int id, int flag)=0</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_src</b>(int procs_id, int flag)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_target</b>(int target)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_type</b>(int type)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SetAddr</b>(BaseMsg *msg)=0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>src_flag</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>src_group_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>src_id</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>target</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const =0 (defined in <a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a>)</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html#ab203b4c239a4dffdd658efb26870c9ed">~BaseMsg</a>()</td><td class="entry"><a class="el" href="classsinga_1_1BaseMsg.html">singa::BaseMsg</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 Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BaseMsg.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BaseMsg.html b/api/classsinga_1_1BaseMsg.html
new file mode 100644
index 0000000..8b1b39f
--- /dev/null
+++ b/api/classsinga_1_1BaseMsg.html
@@ -0,0 +1,266 @@
+<!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.6"/>
+<title>Apache SINGA: singa::BaseMsg 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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</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_1BaseMsg-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::BaseMsg 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::BaseMsg:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1BaseMsg.png" usemap="#singa::BaseMsg_map" alt=""/>
+  <map id="singa::BaseMsg_map" name="singa::BaseMsg_map">
+<area href="classsinga_1_1Msg.html" alt="singa::Msg" shape="rect" coords="0,56,100,80"/>
+</map>
+ </div></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:ab203b4c239a4dffdd658efb26870c9ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab203b4c239a4dffdd658efb26870c9ed"></a>
+virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#ab203b4c239a4dffdd658efb26870c9ed">~BaseMsg</a> ()</td></tr>
+<tr class="memdesc:ab203b4c239a4dffdd658efb26870c9ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor to free memory. <br/></td></tr>
+<tr class="separator:ab203b4c239a4dffdd658efb26870c9ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad13b31cea0f4b16025d36205a979c12b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#ad13b31cea0f4b16025d36205a979c12b">set_src</a> (int group_id, int id, int flag)=0</td></tr>
+<tr class="separator:ad13b31cea0f4b16025d36205a979c12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1edd53b89f49c58a30b447f65e9b79ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1edd53b89f49c58a30b447f65e9b79ad"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_dst</b> (int group_id, int id, int flag)=0</td></tr>
+<tr class="separator:a1edd53b89f49c58a30b447f65e9b79ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2e5f69bfb0d4a5934670fcbcd47cf18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2e5f69bfb0d4a5934670fcbcd47cf18"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_src</b> (int procs_id, int flag)=0</td></tr>
+<tr class="separator:ae2e5f69bfb0d4a5934670fcbcd47cf18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a004442e5d8487d5b2c3d3ccf547ae4bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a004442e5d8487d5b2c3d3ccf547ae4bf"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_dst</b> (int procs_id, int flag)=0</td></tr>
+<tr class="separator:a004442e5d8487d5b2c3d3ccf547ae4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a304b99e0421d7a8ddd406e545d3b5cbd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a304b99e0421d7a8ddd406e545d3b5cbd"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_group_id</b> () const =0</td></tr>
+<tr class="separator:a304b99e0421d7a8ddd406e545d3b5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62de46c21f08d496a330e6a920691a79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62de46c21f08d496a330e6a920691a79"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_group_id</b> () const =0</td></tr>
+<tr class="separator:a62de46c21f08d496a330e6a920691a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2f37bf356baf242498e659ee95bc8df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2f37bf356baf242498e659ee95bc8df"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_id</b> () const =0</td></tr>
+<tr class="separator:ac2f37bf356baf242498e659ee95bc8df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e7a9c15baf43839751d81865fa43303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e7a9c15baf43839751d81865fa43303"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_id</b> () const =0</td></tr>
+<tr class="separator:a3e7a9c15baf43839751d81865fa43303"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac461e6a545b2c8b02a6af11e9fe549c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac461e6a545b2c8b02a6af11e9fe549c7"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>src_flag</b> () const =0</td></tr>
+<tr class="separator:ac461e6a545b2c8b02a6af11e9fe549c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec33795035260e5a784fdd08930e7a6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec33795035260e5a784fdd08930e7a6e"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>dst_flag</b> () const =0</td></tr>
+<tr class="separator:aec33795035260e5a784fdd08930e7a6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ebf162b2bcbac97bc7013428415eb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4ebf162b2bcbac97bc7013428415eb3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_type</b> (int type)=0</td></tr>
+<tr class="separator:af4ebf162b2bcbac97bc7013428415eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72b1aba215a6e168751b35ecf6a3d8e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72b1aba215a6e168751b35ecf6a3d8e5"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const =0</td></tr>
+<tr class="separator:a72b1aba215a6e168751b35ecf6a3d8e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba112a19c604257824d21fd5b454e1bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba112a19c604257824d21fd5b454e1bf"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_target</b> (int target)=0</td></tr>
+<tr class="separator:aba112a19c604257824d21fd5b454e1bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc55b7b5834403050a18dcf7dd6bd385"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc55b7b5834403050a18dcf7dd6bd385"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>target</b> () const =0</td></tr>
+<tr class="separator:acc55b7b5834403050a18dcf7dd6bd385"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa78c849901d38f5cb8f8c524ef085866"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa78c849901d38f5cb8f8c524ef085866"></a>
+virtual <a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#aa78c849901d38f5cb8f8c524ef085866">CopyAddr</a> ()=0</td></tr>
+<tr class="memdesc:aa78c849901d38f5cb8f8c524ef085866"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy src and dst address, including group_id, id, flag. <br/></td></tr>
+<tr class="separator:aa78c849901d38f5cb8f8c524ef085866"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4622b3562eb72ae4e881d5e4f1baf588"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4622b3562eb72ae4e881d5e4f1baf588"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>SetAddr</b> (<a class="el" href="classsinga_1_1BaseMsg.html">BaseMsg</a> *msg)=0</td></tr>
+<tr class="separator:a4622b3562eb72ae4e881d5e4f1baf588"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af71fcc84d739ea852ae6255a5d60727a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af71fcc84d739ea852ae6255a5d60727a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#af71fcc84d739ea852ae6255a5d60727a">add_frame</a> (const void *, int nBytes)=0</td></tr>
+<tr class="memdesc:af71fcc84d739ea852ae6255a5d60727a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame (a chunck of bytes) into the message. <br/></td></tr>
+<tr class="separator:af71fcc84d739ea852ae6255a5d60727a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a083fd630982be8c64210755a35ebc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a083fd630982be8c64210755a35ebc8"></a>
+virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>frame_size</b> ()=0</td></tr>
+<tr class="separator:a7a083fd630982be8c64210755a35ebc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a581bb76c91e357ab5eb9bbf731f94000"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a581bb76c91e357ab5eb9bbf731f94000"></a>
+virtual void *&#160;</td><td class="memItemRight" valign="bottom"><b>frame_data</b> ()=0</td></tr>
+<tr class="separator:a581bb76c91e357ab5eb9bbf731f94000"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a619706d23b0c1927069040e1d3ba604a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1BaseMsg.html#a619706d23b0c1927069040e1d3ba604a">next_frame</a> ()=0</td></tr>
+<tr class="memdesc:a619706d23b0c1927069040e1d3ba604a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the cursor to the next frame.  <a href="#a619706d23b0c1927069040e1d3ba604a">More...</a><br/></td></tr>
+<tr class="separator:a619706d23b0c1927069040e1d3ba604a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a619706d23b0c1927069040e1d3ba604a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool singa::BaseMsg::next_frame </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Move the cursor to the next frame. </p>
+<dl class="section return"><dt>Returns</dt><dd>true if the next frame is not NULL; otherwise false </dd></dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Msg.html#a1cea3c81d4d3a5f6ee60c294d1c116eb">singa::Msg</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad13b31cea0f4b16025d36205a979c12b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::BaseMsg::set_src </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>group_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>flag</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">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">group_id</td><td>worker/server group id </td></tr>
+    <tr><td class="paramname">id</td><td>worker/server id within the group </td></tr>
+    <tr><td class="paramname">flag</td><td>0 for server, 1 for worker, 2 for stub </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classsinga_1_1Msg.html#a91f08357ea61fb7008ea0d32c42ccbc1">singa::Msg</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a class="el" href="msg_8h_source.html">msg.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BaseMsg.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BaseMsg.png b/api/classsinga_1_1BaseMsg.png
new file mode 100644
index 0000000..6b8b12f
Binary files /dev/null and b/api/classsinga_1_1BaseMsg.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1BasePoller-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1BasePoller-members.html b/api/classsinga_1_1BasePoller-members.html
new file mode 100644
index 0000000..a063f9f
--- /dev/null
+++ b/api/classsinga_1_1BasePoller-members.html
@@ -0,0 +1,108 @@
+<!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.6"/>
+<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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" href="classsinga_1_1BasePoller.html">BasePoller</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::BasePoller Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classsinga_1_1BasePoller.html">singa::BasePoller</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html#a268aa6e2738ad030f8da82964da4597c">Add</a>(Socket *socket)=0</td><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html">singa::BasePoller</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html#a85777422b8d41fbc73829797f0332c5d">Wait</a>(int timeout)=0</td><td class="entry"><a class="el" href="classsinga_1_1BasePoller.html">singa::BasePoller</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>