Added: websites/staging/singa/trunk/content/docs/layer.html ============================================================================== --- websites/staging/singa/trunk/content/docs/layer.html (added) +++ websites/staging/singa/trunk/content/docs/layer.html Mon Jul 20 06:02:38 2015 @@ -0,0 +1,466 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2015-07-20 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="Date-Revision-yyyymmdd" content="20150720" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache SINGA – </title> + <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" /> + <link rel="stylesheet" href="../css/site.css" /> + <link rel="stylesheet" href="../css/print.css" media="print" /> + + + + + + <script type="text/javascript" src="../js/apache-maven-fluido-1.4.min.js"></script> + + + </head> + <body class="topBarEnabled"> + + + + + + + <a href="https://github.com/apache/incubator-singa"> + <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;" + src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" + alt="Fork me on GitHub"> + </a> + + + + + + <div id="topbar" class="navbar navbar-fixed-top navbar-inverse"> + <div class="navbar-inner"> + <div class="container-fluid"> + <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + + <ul class="nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache SINGA <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../index.html" title="Welcome">Welcome</a> +</li> + + <li> <a href="../introduction.html" title="Introduction">Introduction</a> +</li> + + <li> <a href="../quick-start.html" title="Quick Start">Quick Start</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentaion <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../docs/installation.html" title="Installation">Installation</a> +</li> + + <li class="dropdown-submenu"> + <a href="../docs/program-model.html" title="Programming Model">Programming Model</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/model-config.html" title="Model Configuration">Model Configuration</a> +</li> + <li> <a href="../docs/neuralnet.html" title="Neural Network">Neural Network</a> +</li> + <li> <a href="../docs/layer.html" title="Layer">Layer</a> +</li> + </ul> + </li> + + <li class="dropdown-submenu"> + <a href="../docs/data.html" title="Data Preparation">Data Preparation</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/datashard.html" title="DataShard">DataShard</a> +</li> + <li> <a href="../docs/lmdb.html" title="LMDB">LMDB</a> +</li> + <li> <a href="../docs/hdfs.html" title="HDFS">HDFS</a> +</li> + </ul> + </li> + + <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> +</li> + + <li> <a href="../docs/communication.html" title="Communication">Communication</a> +</li> + + <li class="dropdown-submenu"> + <a href="../docs/examples.html" title="Examples">Examples</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/mlp.html" title="MLP">MLP</a> +</li> + <li> <a href="../docs/cnn.html" title="CNN">CNN</a> +</li> + <li> <a href="../docs/rbm.html" title="RBM">RBM</a> +</li> + <li> <a href="../docs/rnn.html" title="RNN">RNN</a> +</li> + </ul> + </li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../develop/schedule.html" title="Schedule">Schedule</a> +</li> + + <li class="dropdown-submenu"> + <a href="../develop/how-contribute.html" title="How to Contribute">How to Contribute</a> + <ul class="dropdown-menu"> + <li> <a href="../develop/contribute-code.html" title="Code">Code</a> +</li> + <li> <a href="../develop/contribute-docs.html" title="Documentation">Documentation</a> +</li> + </ul> + </li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../community/source-repository.html" title="Source Repository">Source Repository</a> +</li> + + <li> <a href="../community/mail-lists.html" title="Mailing Lists">Mailing Lists</a> +</li> + + <li> <a href="../community/issue-tracking.html" title="Issue Tracking">Issue Tracking</a> +</li> + + <li> <a href="../community/team-list.html" title="SINGA Team">SINGA Team</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a> +</li> + + <li> <a href="http://www.comp.nus.edu.sg/~dbsystem/singa/" title="NUS School of Computing">NUS School of Computing</a> +</li> + </ul> + </li> + </ul> + + + + + </div> + + </div> + </div> + </div> + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <a href="../index.html" id="bannerLeft" title="Apache SINGA"> + <img src="../images/singa-logo.png" alt="Apache SINGA"/> + </a> + </div> + <div class="pull-right"> <div id="bannerRight"> + <img src="../images/singa-title.png" alt="Apache SINGA"/> + </div> + </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li class=""> + <a href="../index.html" title="Apache SINGA"> + Apache SINGA</a> + <span class="divider">/</span> + </li> + <li class="active "></li> + + + + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Apache SINGA</li> + + <li> + + <a href="../index.html" title="Welcome"> + <span class="none"></span> + Welcome</a> + </li> + + <li> + + <a href="../introduction.html" title="Introduction"> + <span class="none"></span> + Introduction</a> + </li> + + <li> + + <a href="../quick-start.html" title="Quick Start"> + <span class="none"></span> + Quick Start</a> + </li> + <li class="nav-header">Documentaion</li> + + <li> + + <a href="../docs/installation.html" title="Installation"> + <span class="none"></span> + Installation</a> + </li> + + <li> + + <a href="../docs/program-model.html" title="Programming Model"> + <span class="icon-chevron-down"></span> + Programming Model</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/model-config.html" title="Model Configuration"> + <span class="none"></span> + Model Configuration</a> + </li> + + <li> + + <a href="../docs/neuralnet.html" title="Neural Network"> + <span class="none"></span> + Neural Network</a> + </li> + + <li class="active"> + + <a href="#"><span class="none"></span>Layer</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/data.html" title="Data Preparation"> + <span class="icon-chevron-down"></span> + Data Preparation</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/datashard.html" title="DataShard"> + <span class="none"></span> + DataShard</a> + </li> + + <li> + + <a href="../docs/lmdb.html" title="LMDB"> + <span class="none"></span> + LMDB</a> + </li> + + <li> + + <a href="../docs/hdfs.html" title="HDFS"> + <span class="none"></span> + HDFS</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/architecture.html" title="System Architecture"> + <span class="none"></span> + System Architecture</a> + </li> + + <li> + + <a href="../docs/communication.html" title="Communication"> + <span class="none"></span> + Communication</a> + </li> + + <li> + + <a href="../docs/examples.html" title="Examples"> + <span class="icon-chevron-down"></span> + Examples</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/mlp.html" title="MLP"> + <span class="none"></span> + MLP</a> + </li> + + <li> + + <a href="../docs/cnn.html" title="CNN"> + <span class="none"></span> + CNN</a> + </li> + + <li> + + <a href="../docs/rbm.html" title="RBM"> + <span class="none"></span> + RBM</a> + </li> + + <li> + + <a href="../docs/rnn.html" title="RNN"> + <span class="none"></span> + RNN</a> + </li> + </ul> + </li> + <li class="nav-header">Development</li> + + <li> + + <a href="../develop/schedule.html" title="Schedule"> + <span class="none"></span> + Schedule</a> + </li> + + <li> + + <a href="../develop/how-contribute.html" title="How to Contribute"> + <span class="icon-chevron-down"></span> + How to Contribute</a> + <ul class="nav nav-list"> + + <li> + + <a href="../develop/contribute-code.html" title="Code"> + <span class="none"></span> + Code</a> + </li> + + <li> + + <a href="../develop/contribute-docs.html" title="Documentation"> + <span class="none"></span> + Documentation</a> + </li> + </ul> + </li> + <li class="nav-header">Community</li> + + <li> + + <a href="../community/source-repository.html" title="Source Repository"> + <span class="none"></span> + Source Repository</a> + </li> + + <li> + + <a href="../community/mail-lists.html" title="Mailing Lists"> + <span class="none"></span> + Mailing Lists</a> + </li> + + <li> + + <a href="../community/issue-tracking.html" title="Issue Tracking"> + <span class="none"></span> + Issue Tracking</a> + </li> + + <li> + + <a href="../community/team-list.html" title="SINGA Team"> + <span class="none"></span> + SINGA Team</a> + </li> + <li class="nav-header">External Links</li> + + <li> + + <a href="http://www.apache.org/" class="externalLink" title="Apache Software Foundation"> + <span class="none"></span> + Apache Software Foundation</a> + </li> + + <li> + + <a href="http://www.comp.nus.edu.sg/~dbsystem/singa/" class="externalLink" title="NUS School of Computing"> + <span class="none"></span> + NUS School of Computing</a> + </li> + </ul> + + + + <hr /> + + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://incubator.apache.org" title="apache-incubator" class="builtBy"> + <img class="builtBy" alt="Apache Incubator" src="http://incubator.apache.org/images/egg-logo.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + +<p>Copyright © 2015 The Apache Software Foundation. All rights reserved. Apache Singa, Apache, the Apache feather logo, and the Apache Singa project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + + + </div> + </footer> + </body> +</html>
Added: websites/staging/singa/trunk/content/docs/lmdb.html ============================================================================== --- websites/staging/singa/trunk/content/docs/lmdb.html (added) +++ websites/staging/singa/trunk/content/docs/lmdb.html Mon Jul 20 06:02:38 2015 @@ -0,0 +1,466 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2015-07-20 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="Date-Revision-yyyymmdd" content="20150720" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache SINGA – </title> + <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" /> + <link rel="stylesheet" href="../css/site.css" /> + <link rel="stylesheet" href="../css/print.css" media="print" /> + + + + + + <script type="text/javascript" src="../js/apache-maven-fluido-1.4.min.js"></script> + + + </head> + <body class="topBarEnabled"> + + + + + + + <a href="https://github.com/apache/incubator-singa"> + <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;" + src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" + alt="Fork me on GitHub"> + </a> + + + + + + <div id="topbar" class="navbar navbar-fixed-top navbar-inverse"> + <div class="navbar-inner"> + <div class="container-fluid"> + <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + + <ul class="nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache SINGA <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../index.html" title="Welcome">Welcome</a> +</li> + + <li> <a href="../introduction.html" title="Introduction">Introduction</a> +</li> + + <li> <a href="../quick-start.html" title="Quick Start">Quick Start</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentaion <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../docs/installation.html" title="Installation">Installation</a> +</li> + + <li class="dropdown-submenu"> + <a href="../docs/program-model.html" title="Programming Model">Programming Model</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/model-config.html" title="Model Configuration">Model Configuration</a> +</li> + <li> <a href="../docs/neuralnet.html" title="Neural Network">Neural Network</a> +</li> + <li> <a href="../docs/layer.html" title="Layer">Layer</a> +</li> + </ul> + </li> + + <li class="dropdown-submenu"> + <a href="../docs/data.html" title="Data Preparation">Data Preparation</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/datashard.html" title="DataShard">DataShard</a> +</li> + <li> <a href="../docs/lmdb.html" title="LMDB">LMDB</a> +</li> + <li> <a href="../docs/hdfs.html" title="HDFS">HDFS</a> +</li> + </ul> + </li> + + <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> +</li> + + <li> <a href="../docs/communication.html" title="Communication">Communication</a> +</li> + + <li class="dropdown-submenu"> + <a href="../docs/examples.html" title="Examples">Examples</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/mlp.html" title="MLP">MLP</a> +</li> + <li> <a href="../docs/cnn.html" title="CNN">CNN</a> +</li> + <li> <a href="../docs/rbm.html" title="RBM">RBM</a> +</li> + <li> <a href="../docs/rnn.html" title="RNN">RNN</a> +</li> + </ul> + </li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../develop/schedule.html" title="Schedule">Schedule</a> +</li> + + <li class="dropdown-submenu"> + <a href="../develop/how-contribute.html" title="How to Contribute">How to Contribute</a> + <ul class="dropdown-menu"> + <li> <a href="../develop/contribute-code.html" title="Code">Code</a> +</li> + <li> <a href="../develop/contribute-docs.html" title="Documentation">Documentation</a> +</li> + </ul> + </li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../community/source-repository.html" title="Source Repository">Source Repository</a> +</li> + + <li> <a href="../community/mail-lists.html" title="Mailing Lists">Mailing Lists</a> +</li> + + <li> <a href="../community/issue-tracking.html" title="Issue Tracking">Issue Tracking</a> +</li> + + <li> <a href="../community/team-list.html" title="SINGA Team">SINGA Team</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a> +</li> + + <li> <a href="http://www.comp.nus.edu.sg/~dbsystem/singa/" title="NUS School of Computing">NUS School of Computing</a> +</li> + </ul> + </li> + </ul> + + + + + </div> + + </div> + </div> + </div> + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <a href="../index.html" id="bannerLeft" title="Apache SINGA"> + <img src="../images/singa-logo.png" alt="Apache SINGA"/> + </a> + </div> + <div class="pull-right"> <div id="bannerRight"> + <img src="../images/singa-title.png" alt="Apache SINGA"/> + </div> + </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li class=""> + <a href="../index.html" title="Apache SINGA"> + Apache SINGA</a> + <span class="divider">/</span> + </li> + <li class="active "></li> + + + + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Apache SINGA</li> + + <li> + + <a href="../index.html" title="Welcome"> + <span class="none"></span> + Welcome</a> + </li> + + <li> + + <a href="../introduction.html" title="Introduction"> + <span class="none"></span> + Introduction</a> + </li> + + <li> + + <a href="../quick-start.html" title="Quick Start"> + <span class="none"></span> + Quick Start</a> + </li> + <li class="nav-header">Documentaion</li> + + <li> + + <a href="../docs/installation.html" title="Installation"> + <span class="none"></span> + Installation</a> + </li> + + <li> + + <a href="../docs/program-model.html" title="Programming Model"> + <span class="icon-chevron-down"></span> + Programming Model</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/model-config.html" title="Model Configuration"> + <span class="none"></span> + Model Configuration</a> + </li> + + <li> + + <a href="../docs/neuralnet.html" title="Neural Network"> + <span class="none"></span> + Neural Network</a> + </li> + + <li> + + <a href="../docs/layer.html" title="Layer"> + <span class="none"></span> + Layer</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/data.html" title="Data Preparation"> + <span class="icon-chevron-down"></span> + Data Preparation</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/datashard.html" title="DataShard"> + <span class="none"></span> + DataShard</a> + </li> + + <li class="active"> + + <a href="#"><span class="none"></span>LMDB</a> + </li> + + <li> + + <a href="../docs/hdfs.html" title="HDFS"> + <span class="none"></span> + HDFS</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/architecture.html" title="System Architecture"> + <span class="none"></span> + System Architecture</a> + </li> + + <li> + + <a href="../docs/communication.html" title="Communication"> + <span class="none"></span> + Communication</a> + </li> + + <li> + + <a href="../docs/examples.html" title="Examples"> + <span class="icon-chevron-down"></span> + Examples</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/mlp.html" title="MLP"> + <span class="none"></span> + MLP</a> + </li> + + <li> + + <a href="../docs/cnn.html" title="CNN"> + <span class="none"></span> + CNN</a> + </li> + + <li> + + <a href="../docs/rbm.html" title="RBM"> + <span class="none"></span> + RBM</a> + </li> + + <li> + + <a href="../docs/rnn.html" title="RNN"> + <span class="none"></span> + RNN</a> + </li> + </ul> + </li> + <li class="nav-header">Development</li> + + <li> + + <a href="../develop/schedule.html" title="Schedule"> + <span class="none"></span> + Schedule</a> + </li> + + <li> + + <a href="../develop/how-contribute.html" title="How to Contribute"> + <span class="icon-chevron-down"></span> + How to Contribute</a> + <ul class="nav nav-list"> + + <li> + + <a href="../develop/contribute-code.html" title="Code"> + <span class="none"></span> + Code</a> + </li> + + <li> + + <a href="../develop/contribute-docs.html" title="Documentation"> + <span class="none"></span> + Documentation</a> + </li> + </ul> + </li> + <li class="nav-header">Community</li> + + <li> + + <a href="../community/source-repository.html" title="Source Repository"> + <span class="none"></span> + Source Repository</a> + </li> + + <li> + + <a href="../community/mail-lists.html" title="Mailing Lists"> + <span class="none"></span> + Mailing Lists</a> + </li> + + <li> + + <a href="../community/issue-tracking.html" title="Issue Tracking"> + <span class="none"></span> + Issue Tracking</a> + </li> + + <li> + + <a href="../community/team-list.html" title="SINGA Team"> + <span class="none"></span> + SINGA Team</a> + </li> + <li class="nav-header">External Links</li> + + <li> + + <a href="http://www.apache.org/" class="externalLink" title="Apache Software Foundation"> + <span class="none"></span> + Apache Software Foundation</a> + </li> + + <li> + + <a href="http://www.comp.nus.edu.sg/~dbsystem/singa/" class="externalLink" title="NUS School of Computing"> + <span class="none"></span> + NUS School of Computing</a> + </li> + </ul> + + + + <hr /> + + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://incubator.apache.org" title="apache-incubator" class="builtBy"> + <img class="builtBy" alt="Apache Incubator" src="http://incubator.apache.org/images/egg-logo.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + +<p>Copyright © 2015 The Apache Software Foundation. All rights reserved. Apache Singa, Apache, the Apache feather logo, and the Apache Singa project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + + + </div> + </footer> + </body> +</html> Modified: websites/staging/singa/trunk/content/docs/mlp.html ============================================================================== --- websites/staging/singa/trunk/content/docs/mlp.html (original) +++ websites/staging/singa/trunk/content/docs/mlp.html Mon Jul 20 06:02:38 2015 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2015-07-19 + | Generated by Apache Maven Doxia at 2015-07-20 | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20150719" /> + <meta name="Date-Revision-yyyymmdd" content="20150720" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache SINGA – </title> <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" /> @@ -70,16 +70,34 @@ <li> <a href="../docs/installation.html" title="Installation">Installation</a> </li> - <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> + <li class="dropdown-submenu"> + <a href="../docs/program-model.html" title="Programming Model">Programming Model</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/model-config.html" title="Model Configuration">Model Configuration</a> +</li> + <li> <a href="../docs/neuralnet.html" title="Neural Network">Neural Network</a> +</li> + <li> <a href="../docs/layer.html" title="Layer">Layer</a> </li> + </ul> + </li> - <li> <a href="../docs/communication.html" title="Communication">Communication</a> + <li class="dropdown-submenu"> + <a href="../docs/data.html" title="Data Preparation">Data Preparation</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/datashard.html" title="DataShard">DataShard</a> </li> + <li> <a href="../docs/lmdb.html" title="LMDB">LMDB</a> +</li> + <li> <a href="../docs/hdfs.html" title="HDFS">HDFS</a> +</li> + </ul> + </li> - <li> <a href="../docs/neuralnet-partition.html" title="Neural Network Partition">Neural Network Partition</a> + <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> </li> - <li> <a href="../docs/programming-model.html" title="Programming Model">Programming Model</a> + <li> <a href="../docs/communication.html" title="Communication">Communication</a> </li> <li class="dropdown-submenu"> @@ -89,6 +107,10 @@ </li> <li> <a href="../docs/cnn.html" title="CNN">CNN</a> </li> + <li> <a href="../docs/rbm.html" title="RBM">RBM</a> +</li> + <li> <a href="../docs/rnn.html" title="RNN">RNN</a> +</li> </ul> </li> </ul> @@ -218,35 +240,81 @@ <span class="none"></span> Installation</a> </li> - + <li> - <a href="../docs/architecture.html" title="System Architecture"> + <a href="../docs/program-model.html" title="Programming Model"> + <span class="icon-chevron-down"></span> + Programming Model</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/model-config.html" title="Model Configuration"> <span class="none"></span> - System Architecture</a> + Model Configuration</a> </li> - + <li> - <a href="../docs/communication.html" title="Communication"> + <a href="../docs/neuralnet.html" title="Neural Network"> <span class="none"></span> - Communication</a> + Neural Network</a> + </li> + + <li> + + <a href="../docs/layer.html" title="Layer"> + <span class="none"></span> + Layer</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/data.html" title="Data Preparation"> + <span class="icon-chevron-down"></span> + Data Preparation</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/datashard.html" title="DataShard"> + <span class="none"></span> + DataShard</a> </li> + + <li> + + <a href="../docs/lmdb.html" title="LMDB"> + <span class="none"></span> + LMDB</a> + </li> + + <li> + + <a href="../docs/hdfs.html" title="HDFS"> + <span class="none"></span> + HDFS</a> + </li> + </ul> + </li> <li> - <a href="../docs/neuralnet-partition.html" title="Neural Network Partition"> + <a href="../docs/architecture.html" title="System Architecture"> <span class="none"></span> - Neural Network Partition</a> + System Architecture</a> </li> <li> - <a href="../docs/programming-model.html" title="Programming Model"> + <a href="../docs/communication.html" title="Communication"> <span class="none"></span> - Programming Model</a> + Communication</a> </li> - + <li> <a href="../docs/examples.html" title="Examples"> @@ -265,6 +333,20 @@ <span class="none"></span> CNN</a> </li> + + <li> + + <a href="../docs/rbm.html" title="RBM"> + <span class="none"></span> + RBM</a> + </li> + + <li> + + <a href="../docs/rnn.html" title="RNN"> + <span class="none"></span> + RNN</a> + </li> </ul> </li> <li class="nav-header">Development</li> Added: websites/staging/singa/trunk/content/docs/model-config.html ============================================================================== --- websites/staging/singa/trunk/content/docs/model-config.html (added) +++ websites/staging/singa/trunk/content/docs/model-config.html Mon Jul 20 06:02:38 2015 @@ -0,0 +1,723 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2015-07-20 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="Date-Revision-yyyymmdd" content="20150720" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache SINGA – Model Configuration</title> + <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" /> + <link rel="stylesheet" href="../css/site.css" /> + <link rel="stylesheet" href="../css/print.css" media="print" /> + + + + + + <script type="text/javascript" src="../js/apache-maven-fluido-1.4.min.js"></script> + + + </head> + <body class="topBarEnabled"> + + + + + + + <a href="https://github.com/apache/incubator-singa"> + <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;" + src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" + alt="Fork me on GitHub"> + </a> + + + + + + <div id="topbar" class="navbar navbar-fixed-top navbar-inverse"> + <div class="navbar-inner"> + <div class="container-fluid"> + <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + + <ul class="nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache SINGA <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../index.html" title="Welcome">Welcome</a> +</li> + + <li> <a href="../introduction.html" title="Introduction">Introduction</a> +</li> + + <li> <a href="../quick-start.html" title="Quick Start">Quick Start</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentaion <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../docs/installation.html" title="Installation">Installation</a> +</li> + + <li class="dropdown-submenu"> + <a href="../docs/program-model.html" title="Programming Model">Programming Model</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/model-config.html" title="Model Configuration">Model Configuration</a> +</li> + <li> <a href="../docs/neuralnet.html" title="Neural Network">Neural Network</a> +</li> + <li> <a href="../docs/layer.html" title="Layer">Layer</a> +</li> + </ul> + </li> + + <li class="dropdown-submenu"> + <a href="../docs/data.html" title="Data Preparation">Data Preparation</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/datashard.html" title="DataShard">DataShard</a> +</li> + <li> <a href="../docs/lmdb.html" title="LMDB">LMDB</a> +</li> + <li> <a href="../docs/hdfs.html" title="HDFS">HDFS</a> +</li> + </ul> + </li> + + <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> +</li> + + <li> <a href="../docs/communication.html" title="Communication">Communication</a> +</li> + + <li class="dropdown-submenu"> + <a href="../docs/examples.html" title="Examples">Examples</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/mlp.html" title="MLP">MLP</a> +</li> + <li> <a href="../docs/cnn.html" title="CNN">CNN</a> +</li> + <li> <a href="../docs/rbm.html" title="RBM">RBM</a> +</li> + <li> <a href="../docs/rnn.html" title="RNN">RNN</a> +</li> + </ul> + </li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../develop/schedule.html" title="Schedule">Schedule</a> +</li> + + <li class="dropdown-submenu"> + <a href="../develop/how-contribute.html" title="How to Contribute">How to Contribute</a> + <ul class="dropdown-menu"> + <li> <a href="../develop/contribute-code.html" title="Code">Code</a> +</li> + <li> <a href="../develop/contribute-docs.html" title="Documentation">Documentation</a> +</li> + </ul> + </li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="../community/source-repository.html" title="Source Repository">Source Repository</a> +</li> + + <li> <a href="../community/mail-lists.html" title="Mailing Lists">Mailing Lists</a> +</li> + + <li> <a href="../community/issue-tracking.html" title="Issue Tracking">Issue Tracking</a> +</li> + + <li> <a href="../community/team-list.html" title="SINGA Team">SINGA Team</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a> +</li> + + <li> <a href="http://www.comp.nus.edu.sg/~dbsystem/singa/" title="NUS School of Computing">NUS School of Computing</a> +</li> + </ul> + </li> + </ul> + + + + + </div> + + </div> + </div> + </div> + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <a href="../index.html" id="bannerLeft" title="Apache SINGA"> + <img src="../images/singa-logo.png" alt="Apache SINGA"/> + </a> + </div> + <div class="pull-right"> <div id="bannerRight"> + <img src="../images/singa-title.png" alt="Apache SINGA"/> + </div> + </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li class=""> + <a href="../index.html" title="Apache SINGA"> + Apache SINGA</a> + <span class="divider">/</span> + </li> + <li class="active ">Model Configuration</li> + + + + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Apache SINGA</li> + + <li> + + <a href="../index.html" title="Welcome"> + <span class="none"></span> + Welcome</a> + </li> + + <li> + + <a href="../introduction.html" title="Introduction"> + <span class="none"></span> + Introduction</a> + </li> + + <li> + + <a href="../quick-start.html" title="Quick Start"> + <span class="none"></span> + Quick Start</a> + </li> + <li class="nav-header">Documentaion</li> + + <li> + + <a href="../docs/installation.html" title="Installation"> + <span class="none"></span> + Installation</a> + </li> + + <li> + + <a href="../docs/program-model.html" title="Programming Model"> + <span class="icon-chevron-down"></span> + Programming Model</a> + <ul class="nav nav-list"> + + <li class="active"> + + <a href="#"><span class="none"></span>Model Configuration</a> + </li> + + <li> + + <a href="../docs/neuralnet.html" title="Neural Network"> + <span class="none"></span> + Neural Network</a> + </li> + + <li> + + <a href="../docs/layer.html" title="Layer"> + <span class="none"></span> + Layer</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/data.html" title="Data Preparation"> + <span class="icon-chevron-down"></span> + Data Preparation</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/datashard.html" title="DataShard"> + <span class="none"></span> + DataShard</a> + </li> + + <li> + + <a href="../docs/lmdb.html" title="LMDB"> + <span class="none"></span> + LMDB</a> + </li> + + <li> + + <a href="../docs/hdfs.html" title="HDFS"> + <span class="none"></span> + HDFS</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/architecture.html" title="System Architecture"> + <span class="none"></span> + System Architecture</a> + </li> + + <li> + + <a href="../docs/communication.html" title="Communication"> + <span class="none"></span> + Communication</a> + </li> + + <li> + + <a href="../docs/examples.html" title="Examples"> + <span class="icon-chevron-down"></span> + Examples</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/mlp.html" title="MLP"> + <span class="none"></span> + MLP</a> + </li> + + <li> + + <a href="../docs/cnn.html" title="CNN"> + <span class="none"></span> + CNN</a> + </li> + + <li> + + <a href="../docs/rbm.html" title="RBM"> + <span class="none"></span> + RBM</a> + </li> + + <li> + + <a href="../docs/rnn.html" title="RNN"> + <span class="none"></span> + RNN</a> + </li> + </ul> + </li> + <li class="nav-header">Development</li> + + <li> + + <a href="../develop/schedule.html" title="Schedule"> + <span class="none"></span> + Schedule</a> + </li> + + <li> + + <a href="../develop/how-contribute.html" title="How to Contribute"> + <span class="icon-chevron-down"></span> + How to Contribute</a> + <ul class="nav nav-list"> + + <li> + + <a href="../develop/contribute-code.html" title="Code"> + <span class="none"></span> + Code</a> + </li> + + <li> + + <a href="../develop/contribute-docs.html" title="Documentation"> + <span class="none"></span> + Documentation</a> + </li> + </ul> + </li> + <li class="nav-header">Community</li> + + <li> + + <a href="../community/source-repository.html" title="Source Repository"> + <span class="none"></span> + Source Repository</a> + </li> + + <li> + + <a href="../community/mail-lists.html" title="Mailing Lists"> + <span class="none"></span> + Mailing Lists</a> + </li> + + <li> + + <a href="../community/issue-tracking.html" title="Issue Tracking"> + <span class="none"></span> + Issue Tracking</a> + </li> + + <li> + + <a href="../community/team-list.html" title="SINGA Team"> + <span class="none"></span> + SINGA Team</a> + </li> + <li class="nav-header">External Links</li> + + <li> + + <a href="http://www.apache.org/" class="externalLink" title="Apache Software Foundation"> + <span class="none"></span> + Apache Software Foundation</a> + </li> + + <li> + + <a href="http://www.comp.nus.edu.sg/~dbsystem/singa/" class="externalLink" title="NUS School of Computing"> + <span class="none"></span> + NUS School of Computing</a> + </li> + </ul> + + + + <hr /> + + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://incubator.apache.org" title="apache-incubator" class="builtBy"> + <img class="builtBy" alt="Apache Incubator" src="http://incubator.apache.org/images/egg-logo.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + <div class="section"> +<h2><a name="Model_Configuration"></a>Model Configuration</h2> +<p>SINGA uses the stochastic gradient descent (SGD) algorithm to train parameters of deep learning models. For each SGD iteration, there is a <a href="docs/architecture.html">Worker</a> computing gradients of parameters from the NeuralNet and a <a href="">Updater</a> updating parameter values based on gradients. Hence the model configuration mainly consists these three parts. We will introduce the NeuralNet, Worker and Updater in the following paragraphs and describe the configurations for them. All model configuration is specified in the model.conf file in the user provided workspace folder. E.g., the <a class="externalLink" href="https://github.com/apache/incubator-singa/tree/master/examples/cifar10">cifar10 example folder</a> has a model.conf file.</p> +<div class="section"> +<h3><a name="NeuralNet"></a>NeuralNet</h3> +<div class="section"> +<h4><a name="Deep_learning_training"></a>Deep learning training</h4> +<p>Deep learning is labeled as a feature learning technique, which usually consists of multiple layers. Each layer is associated a feature transformation function. After going through all layers, the raw input feature (e.g., pixels of images) would be converted into a high-level feature that is easier for tasks like classification.</p> +<p>Training a deep learning model is to find the optimal parameters involved in the transformation functions that generates good features for specific tasks. The goodness of a set of parameters is measured by a loss function, e.g., <a class="externalLink" href="https://en.wikipedia.org/wiki/Cross_entropy">Cross-Entropy Loss</a>. Since the loss functions are usually non-linear and non-convex, it is difficult to get a closed form solution. Normally, people uses the SGD algorithm which randomly initializes the parameters and then iteratively update them to reduce the loss.</p></div> +<div class="section"> +<h4><a name="Uniform_model_neuralnet_representation"></a>Uniform model (neuralnet) representation</h4> +<p><img src="../images/model-categorization.png" style="width: 400px" alt="" /> Fig. 1: Deep learning model categorization</img></p> +<p>Many deep learning models have being proposed. Fig. 1 is a categorization of popular deep learning models based on the layer connections. The <a class="externalLink" href="https://github.com/apache/incubator-singa/blob/master/include/neuralnet/neuralnet.h">NeuralNet</a> abstraction of SINGA consists of multiple directly connected layers. This abstraction is able to represent models from all the three categorizations.</p> + +<ul> + +<li> +<p>For the feed-forward models, their connections are already directed.</p></li> + +<li> +<p>For the RNN models, we unroll them into directed connections, as shown in Fig. 2.</p></li> + +<li> +<p>For the undirected connections in RBM, DBM, etc., we replace each undirected connection with two directed connection, as shown in Fig. 3.</p></li> +</ul> + +<div style="height: 200px"> + +<div style="float:left; text-align: center"> +<img src="../images/unroll-rbm.png" style="width: 280px" alt="" /> <br />Fig. 2: Unroll RBM </img> +</div> + +<div style="float:left; text-align: center; margin-left: 40px"> +<img src="../images/unroll-rnn.png" style="width: 550px" alt="" /> <br />Fig. 3: Unroll RNN </img> +</div> +</div> +<p>In specific, the NeuralNet class is defined in <a class="externalLink" href="https://github.com/apache/incubator-singa/blob/master/include/neuralnet/neuralnet.h">neuralnet.h</a> :</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">... +vector<Layer*> layers_; +... +</pre></div></div> +<p>The Layer class is defined in <a class="externalLink" href="https://github.com/apache/incubator-singa/blob/master/include/neuralnet/base_layer.h">base_layer.h</a>:</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">vector<Layer*> srclayers_, dstlayers_; +LayerProto layer_proto_; // layer configuration, including meta info, e.g., name +... +</pre></div></div> +<p>The connection with other layers are kept in the <tt>srclayers_</tt> and <tt>dstlayers_</tt>. Since there are many different feature transformations, there are many different Layer implementations correspondingly. For layers that have parameters in their feature transformation functions, they would have Param instances in the layer class, e.g.,</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">Param weight; +</pre></div></div></div> +<div class="section"> +<h4><a name="Configure_the_structure_of_a_NeuralNet_instance"></a>Configure the structure of a NeuralNet instance</h4> +<p>To train a deep learning model, the first step is to write the configurations for the model structure, i.e., the layers and connections for the NeuralNet. Like <a class="externalLink" href="http://caffe.berkeleyvision.org/">Caffe</a>, we use the <a class="externalLink" href="https://developers.google.com/protocol-buffers/">Google Protocol Buffer</a> to define the configuration protocol. The <a class="externalLink" href="https://github.com/apache/incubator-singa/blob/master/src/proto/model.proto">NetProto</a> specifies the configuration fields for a NeuralNet instance,</p> +<p>message NetProto { repeated LayerProto layer = 1; … }</p> +<p>The configuration is then</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">layer { + // layer configuration +} +layer { + // layer configuration +} +... +</pre></div></div> +<p>To configure the model structure, we just configure each layer involved in the model.</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">message LayerProto { + // the layer name used for identification + required string name = 1; + // source layer names + repeated string srclayers = 3; + // parameters, e.g., weight matrix or bias vector + repeated ParamProto param = 12; + // the layer type from the enum above + required LayerType type = 20; + // configuration for convolution layer + optional ConvolutionProto convolution_conf = 30; + // configuration for concatenation layer + optional ConcateProto concate_conf = 31; + // configuration for dropout layer + optional DropoutProto dropout_conf = 33; + ... +} +</pre></div></div> +<p>A sample configuration for a feed-forward model is like</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">layer { + name : "data" + type : kDataShard +} +layer { + name : "image" + type : kImageParser + srclayers : "data" +} +layer { + name : "conv" + type : kConvolution + srclayers : "image" + param { + // configuration for parameter + } + conv_conf { + // configuration for convolution operations + } + ... +} +</pre></div></div> +<p>The layer type list is defined in <a class="externalLink" href="https://github.com/apache/incubator-singa/blob/master/src/proto/model.proto">LayerType</a>. One type (kFoo) corresponds to one child class of Layer (FooLayer) and one configuration field (foo<i>conf). SINGA will infer the dstlayers</i> of each layer after reading the configuration for all layers. Developers can implement new layers and update the type list, then users can use the layer. <a href="">Layer abstraction</a> describes the configurations of current built-in layers.</p> +<p>Fig. 4 shows the model structure corresponding to the neural network configuration for the <a class="externalLink" href="https://github.com/apache/incubator-singa/blob/master/examples/cifar10/model.conf">deep convolutional model</a>.</p> +<p><img src="../images/dcnn-cifar10.png" style="width: 200px" alt="" /> Fig. 4: Neural network structure for the example DCNN model (cifar10)</img></p></div></div> +<div class="section"> +<h3><a name="Worker"></a>Worker</h3> +<p>At the beginning, the Work will initialize the values of Param instances of each layer either randomly (according to user configured distribution) or loading from a <a href="">checkpoint file</a>. For each training iteration, the worker visits layers of the neural network to compute gradients of Param instances of each layer. Corresponding to the three categories of models, there are three different algorithm to compute the gradients of a neural network.</p> + +<ol style="list-style-type: decimal"> + +<li>Back-propagation (BP) for feed-forward models</li> + +<li>Back-propagation through time (BPTT) for recurrent neural networks</li> + +<li>Contrastive divergence (CD) for RBM, DBM, etc models.</li> +</ol> +<p>SINGA has provided these three algorithms as three Worker implementations. Users only need to configure in the model.conf file to specify which algorithm should be used. The configuration protocol is</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">message ModelProto { + ... + enum GradCalcAlg { + // BP algorithm for feed-forward models, e.g., CNN, MLP, RNN + kBP = 1; + // BPTT for recurrent neural networks + kBPTT = 2; + // CD algorithm for RBM, DBM etc., models + kCd = 3; + } + // gradient calculation algorithm + required GradCalcAlg alg = 8 [default = kBackPropagation]; + ... +} +</pre></div></div> +<p>These algorithms override the TrainOneBatch function of the Worker. E.g., the BPWorker implements it as</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">void BPWorker::TrainOneBatch(int step, Metric* perf) { + Forward(step, kTrain, train_net_, perf); + Backward(step, train_net_); +} +</pre></div></div> +<p>The Forward function passes the raw input features of one mini-batch through all layers, and the Backward function visits the layers in reverse order to compute the gradients of the loss w.r.t each layer’s feature and each layer’s Param objects. Different algorithms would visit the layers in different orders. Some may traverses the neural network multiple times, e.g., the CDWorker’s TrainOneBatch function is:</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">void CDWorker::TrainOneBatch(int step, Metric* perf) { + PostivePhase(step, kTrain, train_net_, perf); + NegativePhase(step, kTran, train_net_, perf); + GradientPhase(step, train_net_); +} +</pre></div></div> +<p>Each <tt>*Phase</tt> function would visit all layers one or multiple times. All algorithms will finally call two functions of the Layer class:</p> + +<div class="source"> +<div class="source"><pre class="prettyprint"> /** + * Transform features from connected layers into features of this layer. + * + * @param phase kTrain, kTest, kPositive, etc. + */ + virtual void ComputeFeature(Phase phase, Metric* perf) = 0; + /** + * Compute gradients for parameters (and connected layers). + * + * @param phase kTrain, kTest, kPositive, etc. + */ + virtual void ComputeGradient(Phase phase) = 0; +</pre></div></div> +<p>All <a href="">Layer implementations</a> must implement the above two functions.</p></div> +<div class="section"> +<h3><a name="Updater"></a>Updater</h3> +<p>Once the gradients of parameters are computed, the Updater will update parameter values. There are many SGD variants for updating parameters, like <a class="externalLink" href="http://arxiv.org/pdf/1212.5701v1.pdf">AdaDelta</a>, <a class="externalLink" href="http://www.magicbroom.info/Papers/DuchiHaSi10.pdf">AdaGrad</a>, <a class="externalLink" href="http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf">RMSProp</a>, <a class="externalLink" href="http://scholar.google.com/citations?view_op=view_citation&hl=en&user=DJ8Ep8YAAAAJ&citation_for_view=DJ8Ep8YAAAAJ:hkOj_22Ku90C">Nesterov</a> and SGD with momentum. The core functions of the Updater is</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">/** + * Update parameter values based on gradients + * @param step training step + * @param param pointer to the Param object + * @param grad_scale scaling factor for the gradients + */ +void Update(int step, Param* param, float grad_scale=1.0f); +/** + * @param step training step + * @return the learning rate for this step + */ +float GetLearningRate(int step); +</pre></div></div> +<p>SINGA provides several built-in updaters and learning rate change methods. Users can configure them according to the UpdaterProto</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">message UpdaterProto { + enum UpdaterType{ + // noraml SGD with momentum and weight decay + kSGD = 1; + // adaptive subgradient, http://www.magicbroom.info/Papers/DuchiHaSi10.pdf + kAdaGrad = 2; + // http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf + kRMSProp = 3; + // Nesterov first optimal gradient method + kNesterov = 4; + } + // updater type + required UpdaterType type = 1 [default=kSGD]; + // configuration for RMSProp algorithm + optional RMSPropProto rmsprop_conf = 50; + + enum ChangeMethod { + kFixed = 0; + kInverseT = 1; + kInverse = 2; + kExponential = 3; + kLinear = 4; + kStep = 5; + kFixedStep = 6; + } + // change method for learning rate + required ChangeMethod lr_change= 2 [default = kFixed]; + + optional FixedStepProto fixedstep_conf=40; + ... + optional float momentum = 31 [default = 0]; + optional float weight_decay = 32 [default = 0]; + // base learning rate + optional float base_lr = 34 [default = 0]; +} +</pre></div></div></div> +<div class="section"> +<h3><a name="Other_model_configuration_fields"></a>Other model configuration fields</h3> +<p>Some other important configuration fields for training a deep learning model is listed:</p> + +<div class="source"> +<div class="source"><pre class="prettyprint">// model name, e.g., "cifar10-dcnn", "mnist-mlp" +required string name = 1; +// frequency of displaying training info +required int32 display_frequency = 3 ; +// total num of steps for training +required int32 train_steps = 5; +... // step, frequency for validation and test +// frequency of checkpoint +optional int32 checkpoint_frequency = 34 [default = 0]; +// checkpoint path +optional bool resume = 36 [default = false]; +</pre></div></div> +<p>The pages of <a href="">checkpoint and restore</a>, <a href="">validation and test</a> have more details on related fields.</p></div></div> + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + +<p>Copyright © 2015 The Apache Software Foundation. All rights reserved. Apache Singa, Apache, the Apache feather logo, and the Apache Singa project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + + + </div> + </footer> + </body> +</html> Modified: websites/staging/singa/trunk/content/docs/neuralnet-partition.html ============================================================================== --- websites/staging/singa/trunk/content/docs/neuralnet-partition.html (original) +++ websites/staging/singa/trunk/content/docs/neuralnet-partition.html Mon Jul 20 06:02:38 2015 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2015-07-19 + | Generated by Apache Maven Doxia at 2015-07-20 | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20150719" /> + <meta name="Date-Revision-yyyymmdd" content="20150720" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache SINGA – Neural Network Partition</title> <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" /> @@ -70,16 +70,34 @@ <li> <a href="../docs/installation.html" title="Installation">Installation</a> </li> - <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> + <li class="dropdown-submenu"> + <a href="../docs/program-model.html" title="Programming Model">Programming Model</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/model-config.html" title="Model Configuration">Model Configuration</a> +</li> + <li> <a href="../docs/neuralnet.html" title="Neural Network">Neural Network</a> +</li> + <li> <a href="../docs/layer.html" title="Layer">Layer</a> </li> + </ul> + </li> - <li> <a href="../docs/communication.html" title="Communication">Communication</a> + <li class="dropdown-submenu"> + <a href="../docs/data.html" title="Data Preparation">Data Preparation</a> + <ul class="dropdown-menu"> + <li> <a href="../docs/datashard.html" title="DataShard">DataShard</a> </li> + <li> <a href="../docs/lmdb.html" title="LMDB">LMDB</a> +</li> + <li> <a href="../docs/hdfs.html" title="HDFS">HDFS</a> +</li> + </ul> + </li> - <li> <a href="../docs/neuralnet-partition.html" title="Neural Network Partition">Neural Network Partition</a> + <li> <a href="../docs/architecture.html" title="System Architecture">System Architecture</a> </li> - <li> <a href="../docs/programming-model.html" title="Programming Model">Programming Model</a> + <li> <a href="../docs/communication.html" title="Communication">Communication</a> </li> <li class="dropdown-submenu"> @@ -89,6 +107,10 @@ </li> <li> <a href="../docs/cnn.html" title="CNN">CNN</a> </li> + <li> <a href="../docs/rbm.html" title="RBM">RBM</a> +</li> + <li> <a href="../docs/rnn.html" title="RNN">RNN</a> +</li> </ul> </li> </ul> @@ -218,33 +240,81 @@ <span class="none"></span> Installation</a> </li> - + <li> - <a href="../docs/architecture.html" title="System Architecture"> + <a href="../docs/program-model.html" title="Programming Model"> + <span class="icon-chevron-down"></span> + Programming Model</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/model-config.html" title="Model Configuration"> <span class="none"></span> - System Architecture</a> + Model Configuration</a> </li> - + <li> - <a href="../docs/communication.html" title="Communication"> + <a href="../docs/neuralnet.html" title="Neural Network"> <span class="none"></span> - Communication</a> + Neural Network</a> </li> + + <li> + + <a href="../docs/layer.html" title="Layer"> + <span class="none"></span> + Layer</a> + </li> + </ul> + </li> + + <li> + + <a href="../docs/data.html" title="Data Preparation"> + <span class="icon-chevron-down"></span> + Data Preparation</a> + <ul class="nav nav-list"> + + <li> + + <a href="../docs/datashard.html" title="DataShard"> + <span class="none"></span> + DataShard</a> + </li> + + <li> + + <a href="../docs/lmdb.html" title="LMDB"> + <span class="none"></span> + LMDB</a> + </li> + + <li> + + <a href="../docs/hdfs.html" title="HDFS"> + <span class="none"></span> + HDFS</a> + </li> + </ul> + </li> - <li class="active"> + <li> - <a href="#"><span class="none"></span>Neural Network Partition</a> - </li> + <a href="../docs/architecture.html" title="System Architecture"> + <span class="none"></span> + System Architecture</a> + </li> <li> - <a href="../docs/programming-model.html" title="Programming Model"> + <a href="../docs/communication.html" title="Communication"> <span class="none"></span> - Programming Model</a> + Communication</a> </li> - + <li> <a href="../docs/examples.html" title="Examples"> @@ -265,6 +335,20 @@ <span class="none"></span> CNN</a> </li> + + <li> + + <a href="../docs/rbm.html" title="RBM"> + <span class="none"></span> + RBM</a> + </li> + + <li> + + <a href="../docs/rnn.html" title="RNN"> + <span class="none"></span> + RNN</a> + </li> </ul> </li> <li class="nav-header">Development</li>
