<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Singa: singa::init::MSRA Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Singa
   </div>
   <div id="projectbrief">A General Distributed Deep Learning Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacesinga.html">singa</a></li><li class="navelem"><b>init</b></li><li class="navelem"><a class="el" href="classsinga_1_1init_1_1MSRA.html">MSRA</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_1init_1_1MSRA-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">singa::init::MSRA Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Ref: [He, Zhang, Ren and Sun 2015]: Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification.  
 <a href="classsinga_1_1init_1_1MSRA.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="initializer_8h_source.html">initializer.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for singa::init::MSRA:</div>
<div class="dyncontent">
<div class="center"><img src="classsinga_1_1init_1_1MSRA__inherit__graph.png" border="0" usemap="#singa_1_1init_1_1MSRA_inherit__map" alt="Inheritance graph"/></div>
<!-- MAP 0 -->
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for singa::init::MSRA:</div>
<div class="dyncontent">
<div class="center"><img src="classsinga_1_1init_1_1MSRA__coll__graph.png" border="0" usemap="#singa_1_1init_1_1MSRA_coll__map" alt="Collaboration graph"/></div>
<!-- MAP 1 -->
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0ee38a7c6dd82a213dd48630633d63cc"><td class="memItemLeft" align="right" valign="top"><a id="a0ee38a7c6dd82a213dd48630633d63cc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Fill</b> (<a class="el" href="classsinga_1_1Tensor.html">Tensor</a> &amp;t) override</td></tr>
<tr class="separator:a0ee38a7c6dd82a213dd48630633d63cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classsinga_1_1Initializer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Initializer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classsinga_1_1Initializer.html">singa::Initializer</a></td></tr>
<tr class="memitem:a1392dc98130f6ec3d0a94ac6005f1fb9 inherit pub_methods_classsinga_1_1Initializer"><td class="memItemLeft" align="right" valign="top"><a id="a1392dc98130f6ec3d0a94ac6005f1fb9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Setup</b> (const std::string &amp;str)</td></tr>
<tr class="separator:a1392dc98130f6ec3d0a94ac6005f1fb9 inherit pub_methods_classsinga_1_1Initializer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ffa4b002b680d125f2725f39f658a72 inherit pub_methods_classsinga_1_1Initializer"><td class="memItemLeft" align="right" valign="top"><a id="a7ffa4b002b680d125f2725f39f658a72"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsinga_1_1Initializer.html#a7ffa4b002b680d125f2725f39f658a72">Setup</a> (const <a class="el" href="namespacesinga.html#ac7e303fc44cfdbf2611a6e69affa42e9">InitializerConf</a> &amp;conf)</td></tr>
<tr class="memdesc:a7ffa4b002b680d125f2725f39f658a72 inherit pub_methods_classsinga_1_1Initializer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set meta fields from user configurations. <br /></td></tr>
<tr class="separator:a7ffa4b002b680d125f2725f39f658a72 inherit pub_methods_classsinga_1_1Initializer"><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>Ref: [He, Zhang, Ren and Sun 2015]: Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/moaz/incubator-singa/include/singa/model/<a class="el" href="initializer_8h_source.html">initializer.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
