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:34 UTC

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

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>