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 2019/04/21 13:56:45 UTC

svn commit: r1857911 [25/27] - in /incubator/singa/site/trunk: en/ en/_static/ en/_static/css/ en/_static/fonts/ en/_static/fonts/Lato/ en/_static/fonts/RobotoSlab/ en/_static/js/ en/community/ en/develop/ en/docs/ en/docs/model_zoo/ en/docs/model_zoo/...

Modified: incubator/singa/site/trunk/zh/docs/net.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/docs/net.html?rev=1857911&r1=1857910&r2=1857911&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/docs/net.html (original)
+++ incubator/singa/site/trunk/zh/docs/net.html Sun Apr 21 13:56:42 2019
@@ -18,15 +18,21 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -44,21 +50,16 @@
 	}
     </style>
 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -214,8 +215,8 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <div class="section" id="">
-<span id="id1"></span><h1>前馈网络<a class="headerlink" href="#" title="Permalink to this headline">¶</a></h1>
+  <div class="section" id="id1">
+<h1>前馈网络<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
 <p>Neural net类用层来创建网络并提供可以获取网络信息(比如:参数)的函数。</p>
 <p>示例用法:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="kn">import</span> <span class="n">net</span> <span class="k">as</span> <span class="n">ffnet</span>
@@ -254,116 +255,116 @@
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-net-feedforwardnet-loss-none-metric-none">
-<span id="class-singa-net-feedforwardnet-loss-none-metric-none"></span><h2>class singa.net.FeedForwardNet(loss=None, metric=None)<a class="headerlink" href="#class-singa-net-feedforwardnet-loss-none-metric-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.net.FeedForwardNet(loss=None, metric=None)<a class="headerlink" href="#class-singa-net-feedforwardnet-loss-none-metric-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">object</span></code></p>
 <div class="section" id="to-device-dev">
-<span id="to-device-dev"></span><h3>to_device(dev)<a class="headerlink" href="#to-device-dev" title="Permalink to this headline">¶</a></h3>
+<h3>to_device(dev)<a class="headerlink" href="#to-device-dev" title="Permalink to this headline">¶</a></h3>
 <p>将网络移至指定设备上,包括所有参数和中间数据。</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="add-lyr-src-none">
-<span id="add-lyr-src-none"></span><h3>add(lyr, src=None)<a class="headerlink" href="#add-lyr-src-none" title="Permalink to this headline">¶</a></h3>
+<h3>add(lyr, src=None)<a class="headerlink" href="#add-lyr-src-none" title="Permalink to this headline">¶</a></h3>
 <p>添加一个层到层列表中。</p>
 <p>该功能将从src层获取样本形状以设置新添加的层。 对于第一层,它被设置在外部。 调用函数应确保层顺序的正确性。 如果src是None,最后一层是src层。 如果有多个src图层,则src是src层的列表。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>lyr (Layer)</strong> – 待添加的层</li>
-<li><strong>src (Layer)</strong> – lyr层的父层</li>
+<li><p><strong>lyr (Layer)</strong> – 待添加的层</p></li>
+<li><p><strong>src (Layer)</strong> – lyr层的父层</p></li>
 </ul>
 </div>
 <hr class="docutils" />
 <div class="section" id="param-values">
-<span id="param-values"></span><h3>param_values()<a class="headerlink" href="#param-values" title="Permalink to this headline">¶</a></h3>
+<h3>param_values()<a class="headerlink" href="#param-values" title="Permalink to this headline">¶</a></h3>
 <p>返回所有参数的tensor列表。</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="param-specs">
-<span id="param-specs"></span><h3>param_specs()<a class="headerlink" href="#param-specs" title="Permalink to this headline">¶</a></h3>
+<h3>param_specs()<a class="headerlink" href="#param-specs" title="Permalink to this headline">¶</a></h3>
 <p>返回所有参数的ParamSpec列表。</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="param-names">
-<span id="param-names"></span><h3>param_names()<a class="headerlink" href="#param-names" title="Permalink to this headline">¶</a></h3>
+<h3>param_names()<a class="headerlink" href="#param-names" title="Permalink to this headline">¶</a></h3>
 <p>返回所有参数名列表。。</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="train-x-y">
-<span id="train-x-y"></span><h3>train(x, y)<a class="headerlink" href="#train-x-y" title="Permalink to this headline">¶</a></h3>
+<h3>train(x, y)<a class="headerlink" href="#train-x-y" title="Permalink to this headline">¶</a></h3>
 <p>运行一次BP。
 目前仅支持单输出层、单损失函数及度量方法的网络。 TODO(wangwei) 考虑多损失函数和多度量值。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>x</strong> – 输入数据,一个输入tensor或字典:层名-&gt;tensor</li>
-<li><strong>y</strong> – 输入数据的标签,一个tensor</li>
+<li><p><strong>x</strong> – 输入数据,一个输入tensor或字典:层名-&gt;tensor</p></li>
+<li><p><strong>y</strong> – 输入数据的标签,一个tensor</p></li>
 </ul>
 <p><strong>返回值:</strong> 参数梯度,损失函数和度量值</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="evaluate-x-y">
-<span id="evaluate-x-y"></span><h3>evaluate(x, y)<a class="headerlink" href="#evaluate-x-y" title="Permalink to this headline">¶</a></h3>
+<h3>evaluate(x, y)<a class="headerlink" href="#evaluate-x-y" title="Permalink to this headline">¶</a></h3>
 <p>根据给定数据评估损失函数和度量值。目前仅支持单输出层、单损失函数及度量方法的网络。TODO(wangwei) 考虑多损失函数和多度量值。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>x</strong> – 输入数据,单个tensor或一个字典: 层名 -&gt; tensor</li>
-<li><strong>y</strong> – 输入数据的标签,单个tensor.</li>
+<li><p><strong>x</strong> – 输入数据,单个tensor或一个字典: 层名 -&gt; tensor</p></li>
+<li><p><strong>y</strong> – 输入数据的标签,单个tensor.</p></li>
 </ul>
 </div>
 <hr class="docutils" />
 <div class="section" id="predict-x">
-<span id="predict-x"></span><h3>predict(x)<a class="headerlink" href="#predict-x" title="Permalink to this headline">¶</a></h3>
+<h3>predict(x)<a class="headerlink" href="#predict-x" title="Permalink to this headline">¶</a></h3>
 <p>向前经每个层传递数据到输出层并获得输出值。
 目前仅支持单输出层的网络。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>x</strong> - 输入数据,单个tesnor或一个字典: 层名 -&gt; tensor</li>
+<li><p><strong>x</strong> - 输入数据,单个tesnor或一个字典: 层名 -&gt; tensor</p></li>
 </ul>
 <p><strong>返回值:</strong> 单个输出tensor作为预测结果</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="topo-sort-layers-src-of-layer">
-<span id="topo-sort-layers-src-of-layer"></span><h3>topo_sort(layers, src_of_layer)<a class="headerlink" href="#topo-sort-layers-src-of-layer" title="Permalink to this headline">¶</a></h3>
+<h3>topo_sort(layers, src_of_layer)<a class="headerlink" href="#topo-sort-layers-src-of-layer" title="Permalink to this headline">¶</a></h3>
 <p>对所有层进行拓扑排序。
 对于多输入层,将会保留输入层的顺序。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>layers</strong> – 层列表;同个层(如slice层)的多个输出层应该以正确的顺序加入,此功能将不会改变其顺序。</li>
-<li><strong>src_of_layer</strong> – 字典: src层名 -&gt; src层列表</li>
+<li><p><strong>layers</strong> – 层列表;同个层(如slice层)的多个输出层应该以正确的顺序加入,此功能将不会改变其顺序。</p></li>
+<li><p><strong>src_of_layer</strong> – 字典: src层名 -&gt; src层列表</p></li>
 </ul>
 <p><strong>返回值:</strong> 排序后层列表</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="forward-flag-x-output">
-<span id="forward-flag-x-output"></span><h3>forward(flag, x, output=[])<a class="headerlink" href="#forward-flag-x-output" title="Permalink to this headline">¶</a></h3>
+<h3>forward(flag, x, output=[])<a class="headerlink" href="#forward-flag-x-output" title="Permalink to this headline">¶</a></h3>
 <p>将输入经过每个层向前传递。
 如果一个层具有来自其他层和来自x的输入,则来自x的数据在来自其他层的数据之前被排序,例如,如果层1-&gt;层2并且x [‘layer2’]具有数据,则输入层2展平,即[x [‘layer2’],层1的输出]</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>flag</strong> – True代表训练;False代表评估;也可以是model_pb2.kTrain或model_pb2.kEval或者其他未来可能使用的值。</li>
-<li><strong>x</strong> – 一个tensor或一个字典:层名 -&gt; tensor</li>
-<li><strong>output(list)</strong> – 层名列表,将会和默认输出一起作为返回值</li>
+<li><p><strong>flag</strong> – True代表训练;False代表评估;也可以是model_pb2.kTrain或model_pb2.kEval或者其他未来可能使用的值。</p></li>
+<li><p><strong>x</strong> – 一个tensor或一个字典:层名 -&gt; tensor</p></li>
+<li><p><strong>output(list)</strong> – 层名列表,将会和默认输出一起作为返回值</p></li>
 </ul>
 <p><strong>返回值:</strong> 如果只有一个输出层,返回输出tensor;否则返回字典:层名-&gt;输出tensor</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="backward">
-<span id="backward"></span><h3>backward()<a class="headerlink" href="#backward" title="Permalink to this headline">¶</a></h3>
+<h3>backward()<a class="headerlink" href="#backward" title="Permalink to this headline">¶</a></h3>
 <p>运行向后传递</p>
 <p><strong>返回值:</strong> 所有参数的梯度tensor列表。</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="save-f-buffer-size-10-use-pickle-false">
-<span id="save-f-buffer-size-10-use-pickle-false"></span><h3>save(f, buffer_size=10, use_pickle=False)<a class="headerlink" href="#save-f-buffer-size-10-use-pickle-false" title="Permalink to this headline">¶</a></h3>
+<h3>save(f, buffer_size=10, use_pickle=False)<a class="headerlink" href="#save-f-buffer-size-10-use-pickle-false" title="Permalink to this headline">¶</a></h3>
 <p>用io/snapshot保存模型参数。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>f</strong> – 文件名</li>
-<li><strong>buffer_size</strong> – 输入输出的大小(MB),默认为10MB;请确保它比任何一个参数对象要大。</li>
-<li><strong>use_pickle(boolean)</strong> – 如果为真,将使用pickle保存;否则,将用protobuf做序列化,会占用较少空间。</li>
+<li><p><strong>f</strong> – 文件名</p></li>
+<li><p><strong>buffer_size</strong> – 输入输出的大小(MB),默认为10MB;请确保它比任何一个参数对象要大。</p></li>
+<li><p><strong>use_pickle(boolean)</strong> – 如果为真,将使用pickle保存;否则,将用protobuf做序列化,会占用较少空间。</p></li>
 </ul>
 </div>
 <hr class="docutils" />
 <div class="section" id="load-f-buffer-size-10-use-pickle-false">
-<span id="load-f-buffer-size-10-use-pickle-false"></span><h3>load(f, buffer_size=10, use_pickle=False)<a class="headerlink" href="#load-f-buffer-size-10-use-pickle-false" title="Permalink to this headline">¶</a></h3>
+<h3>load(f, buffer_size=10, use_pickle=False)<a class="headerlink" href="#load-f-buffer-size-10-use-pickle-false" title="Permalink to this headline">¶</a></h3>
 <p>用io/snapshot加载模型参数。请参照save()的参数描述。</p>
 <hr class="docutils" />
 </div>
@@ -381,7 +382,7 @@
         <a href="initializer.html" class="btn btn-neutral float-right" title="初始化器(Initializer)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="layer.html" class="btn btn-neutral" title="层(Layer)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="layer.html" class="btn btn-neutral float-left" title="层(Layer)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -390,7 +391,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2019 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..
+        &copy; Copyright 2019 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>
@@ -407,36 +408,17 @@
   
 
 
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.1.0',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
   </script>
 
+  
+  
+    
+  
+
 <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
   <span class="rst-current-version" data-toggle="rst-current-version">
     <span class="fa fa-book"> incubator-singa </span>

Modified: incubator/singa/site/trunk/zh/docs/optimizer.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/docs/optimizer.html?rev=1857911&r1=1857910&r2=1857911&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/docs/optimizer.html (original)
+++ incubator/singa/site/trunk/zh/docs/optimizer.html Sun Apr 21 13:56:42 2019
@@ -18,15 +18,21 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -44,21 +50,16 @@
 	}
     </style>
 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -123,19 +124,19 @@
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-nesterov-lr-none-momentum-0-9-weight-decay-none-regularizer-none-constraint-none">class singa.optimizer.Nesterov(lr=None, momentum=0.9, weight_decay=None, regularizer=None, constraint=None)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-with-lr-epoch-lr-grad-value-name-step-1">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id1">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-rmsprop-rho-0-9-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none">class singa.optimizer.RMSProp(rho=0.9, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-with-lr-epoch-lr-grad-value-name-step-1">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id2">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-adagrad-epsilon-1e-08-lr-none-weight-decay-none-lr-gen-none-regularizer-none-constraint-none">class singa.optimizer.AdaGrad(epsilon=1e-08, lr=None, weight_decay=None, lr_gen=None, regularizer=None, constraint=None)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-with-lr-epoch-lr-grad-value-name-step-1">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id3">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-adam-beta-1-0-9-beta-2-0-999-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none">class singa.optimizer.Adam(beta_1=0.9, beta_2=0.999, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-with-lr-epoch-lr-grad-value-name-step-1">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id4">apply_with_lr(epoch, lr, grad, value, name, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-regularizer">class singa.optimizer.Regularizer</a><ul>
@@ -143,23 +144,23 @@
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-cppregularizer-conf">class singa.optimizer.CppRegularizer(conf)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-epoch-value-grad-step-1">apply(epoch, value, grad, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id5">apply(epoch, value, grad, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-l2regularizer-coefficient">class singa.optimizer.L2Regularizer(coefficient)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-epoch-value-grad-step-1">apply(epoch, value, grad, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id6">apply(epoch, value, grad, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-constraint">class singa.optimizer.Constraint</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-epoch-value-grad-step-1">apply(epoch, value, grad, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id7">apply(epoch, value, grad, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-cppconstraint-conf">class singa.optimizer.CppConstraint(conf)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-epoch-value-grad-step-1">apply(epoch, value, grad, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id8">apply(epoch, value, grad, step=-1)</a></li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#class-singa-optimizer-l2constraint-threshold-none">class singa.optimizer.L2Constraint(threshold=None)</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#apply-epoch-value-grad-step-1">apply(epoch, value, grad, step=-1)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#id9">apply(epoch, value, grad, step=-1)</a></li>
 </ul>
 </li>
 </ul>
@@ -256,19 +257,18 @@
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>  <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span class="mf">2.0</span>
+    with the License.  You may obtain a copy of the License at
 
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">&quot;AS IS&quot;</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span>  <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–&gt;</p>
-<div class="section" id="optimizer">
-<span id="optimizer"></span><h1>优化器(Optimizer)<a class="headerlink" href="#optimizer" title="Permalink to this headline">¶</a></h1>
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+--><div class="section" id="optimizer">
+<h1>优化器(Optimizer)<a class="headerlink" href="#optimizer" title="Permalink to this headline">¶</a></h1>
 <p>这个模块包含一系列用于模型参数更新的优化器。</p>
 <p>示例用法:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="kn">import</span> <span class="n">optimizer</span>
@@ -286,208 +286,208 @@
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-optimizer-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none">
-<span id="class-singa-optimizer-optimizer-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none"></span><h2>class singa.optimizer.Optimizer(lr=None, momentum=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-optimizer-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.Optimizer(lr=None, momentum=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-optimizer-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">object</span></code></p>
 <p>Python优化器类的基类。
 典型地,优化器有如下作用:</p>
 <ol class="simple">
-<li>构建优化器</li>
-<li>(可选)以参数名为注册每种参数</li>
-<li>使用优化器依照给定参数梯度及其他信息更新参数值</li>
+<li><p>构建优化器</p></li>
+<li><p>(可选)以参数名为注册每种参数</p></li>
+<li><p>使用优化器依照给定参数梯度及其他信息更新参数值</p></li>
 </ol>
 <p>它的子类应该重写apply_with_lr函数已用于真实的参数更新。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>lr (float)</strong> – 学习速率</li>
-<li><strong>momentum (float)</strong> – 动量</li>
-<li><strong>weight_decay (float)</strong> – L2正则化系数,被排除于‘regularizer’之外</li>
-<li><strong>regularizer</strong> –  Regularizer或RegularizerConf实例;如被设置,正则化将被用于apply_with_lr()。 用户也可以在优化器外部做正则化。</li>
-<li><strong>constraint</strong> – Constraint或ConstraintConf实例;如被设置,正则化将被用于apply_with_lr()。 用户也可以在优化器外部做正则化。</li>
+<li><p><strong>lr (float)</strong> – 学习速率</p></li>
+<li><p><strong>momentum (float)</strong> – 动量</p></li>
+<li><p><strong>weight_decay (float)</strong> – L2正则化系数,被排除于‘regularizer’之外</p></li>
+<li><p><strong>regularizer</strong> –  Regularizer或RegularizerConf实例;如被设置,正则化将被用于apply_with_lr()。 用户也可以在优化器外部做正则化。</p></li>
+<li><p><strong>constraint</strong> – Constraint或ConstraintConf实例;如被设置,正则化将被用于apply_with_lr()。 用户也可以在优化器外部做正则化。</p></li>
 </ul>
 <hr class="docutils" />
 <div class="section" id="register-name-specs">
-<span id="register-name-specs"></span><h3>register(name, specs)<a class="headerlink" href="#register-name-specs" title="Permalink to this headline">¶</a></h3>
+<h3>register(name, specs)<a class="headerlink" href="#register-name-specs" title="Permalink to this headline">¶</a></h3>
 <p>注册参数,包括为每个参数对象创建正则化和约束条件。 这里参数特定的正则化和约束比全局设置有更高优先级。 如果所有参数对于学习速率、正规化器和约束条件共享相同的设置,则不需要调用该函数。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>name (str)</strong> – 参数名</li>
-<li><strong>specs (ParamSpec)</strong> – protobuf对象,包括正则化和约束条件、学习速率和权值衰减乘子。</li>
+<li><p><strong>name (str)</strong> – 参数名</p></li>
+<li><p><strong>specs (ParamSpec)</strong> – protobuf对象,包括正则化和约束条件、学习速率和权值衰减乘子。</p></li>
 </ul>
 </div>
 <hr class="docutils" />
 <div class="section" id="apply-regularizer-constraint-epoch-value-grad-name-none-step-1">
-<span id="apply-regularizer-constraint-epoch-value-grad-name-none-step-1"></span><h3>apply_regularizer_constraint(epoch, value, grad, name=None, step=-1)<a class="headerlink" href="#apply-regularizer-constraint-epoch-value-grad-name-none-step-1" title="Permalink to this headline">¶</a></h3>
+<h3>apply_regularizer_constraint(epoch, value, grad, name=None, step=-1)<a class="headerlink" href="#apply-regularizer-constraint-epoch-value-grad-name-none-step-1" title="Permalink to this headline">¶</a></h3>
 <p>如果可用,将采用正则化和约束条件。 如果全局正则化和参数特定的正则化都存在,会采用参数特定的正则化。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>epoch (int)</strong> – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)</li>
-<li><strong>value (Tensor)</strong> – 参数Tensor</li>
-<li><strong>grad (Tensor)</strong> – 参数梯度Tensor</li>
-<li><strong>name (string)</strong> – 参数名以索引到特定的规则(正则化或约束条件)</li>
-<li><strong>step (int)</strong> – 每个epoch内的迭代ID</li>
+<li><p><strong>epoch (int)</strong> – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)</p></li>
+<li><p><strong>value (Tensor)</strong> – 参数Tensor</p></li>
+<li><p><strong>grad (Tensor)</strong> – 参数梯度Tensor</p></li>
+<li><p><strong>name (string)</strong> – 参数名以索引到特定的规则(正则化或约束条件)</p></li>
+<li><p><strong>step (int)</strong> – 每个epoch内的迭代ID</p></li>
 </ul>
 <p><strong>返回值:</strong> 更新后的梯度tensor</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="apply-with-lr-epoch-lr-grad-value-name-none-step-1">
-<span id="apply-with-lr-epoch-lr-grad-value-name-none-step-1"></span><h3>apply_with_lr(epoch, lr, grad, value, name=None, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-none-step-1" title="Permalink to this headline">¶</a></h3>
+<h3>apply_with_lr(epoch, lr, grad, value, name=None, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-none-step-1" title="Permalink to this headline">¶</a></h3>
 <p>如果grad非空,则根据给定学习速率更新参数。</p>
 <p>子类优化器必须重写这个函数。如果grad为空,将不做任何操作。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>epoch (int)</strong> – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)</li>
-<li><strong>lr (float)</strong> – 学习速率</li>
-<li><strong>value (Tensor)</strong> – 参数Tensor</li>
-<li><strong>grad (Tensor)</strong> – 参数梯度Tensor</li>
-<li><strong>name (string)</strong> – 参数名以索引到特定的规则(正则化或约束条件)</li>
-<li><strong>step (int)</strong> – 每个epoch内的迭代ID
-<strong>返回值:</strong> 更新后的参数值</li>
+<li><p><strong>epoch (int)</strong> – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)</p></li>
+<li><p><strong>lr (float)</strong> – 学习速率</p></li>
+<li><p><strong>value (Tensor)</strong> – 参数Tensor</p></li>
+<li><p><strong>grad (Tensor)</strong> – 参数梯度Tensor</p></li>
+<li><p><strong>name (string)</strong> – 参数名以索引到特定的规则(正则化或约束条件)</p></li>
+<li><p><strong>step (int)</strong> – 每个epoch内的迭代ID
+<strong>返回值:</strong> 更新后的参数值</p></li>
 </ul>
 </div>
 <hr class="docutils" />
 <div class="section" id="apply-epoch-grad-value-name-none-step-1">
-<span id="apply-epoch-grad-value-name-none-step-1"></span><h3>apply(epoch, grad, value, name=None, step=-1)<a class="headerlink" href="#apply-epoch-grad-value-name-none-step-1" title="Permalink to this headline">¶</a></h3>
+<h3>apply(epoch, grad, value, name=None, step=-1)<a class="headerlink" href="#apply-epoch-grad-value-name-none-step-1" title="Permalink to this headline">¶</a></h3>
 <p>假设学习速率生成器配置完成,完成参数更新。 子类不需要重写这个函数。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>epoch (int)</strong> – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)</li>
-<li><strong>value (Tensor)</strong> – 参数Tensor</li>
-<li><strong>grad (Tensor)</strong> – 参数梯度Tensor</li>
-<li><strong>name (string)</strong> – 参数名以索引到特定的规则(正则化或约束条件)</li>
-<li><strong>step (int)</strong> – 每个epoch内的迭代ID</li>
+<li><p><strong>epoch (int)</strong> – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)</p></li>
+<li><p><strong>value (Tensor)</strong> – 参数Tensor</p></li>
+<li><p><strong>grad (Tensor)</strong> – 参数梯度Tensor</p></li>
+<li><p><strong>name (string)</strong> – 参数名以索引到特定的规则(正则化或约束条件)</p></li>
+<li><p><strong>step (int)</strong> – 每个epoch内的迭代ID</p></li>
 </ul>
 <p><strong>返回值:</strong> 更新后的参数值</p>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-sgd-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none">
-<span id="class-singa-optimizer-sgd-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none"></span><h2>class singa.optimizer.SGD(lr=None, momentum=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-sgd-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.SGD(lr=None, momentum=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-sgd-lr-none-momentum-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Optimizer</span></code></p>
 <p>原始的包含动量的随机梯度下降算法。 参数详见Optimizer基类。</p>
 <div class="section" id="apply-with-lr-epoch-lr-grad-value-name-step-1">
-<span id="apply-with-lr-epoch-lr-grad-value-name-step-1"></span><h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-step-1" title="Permalink to this headline">¶</a></h3>
+<h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-step-1" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-nesterov-lr-none-momentum-0-9-weight-decay-none-regularizer-none-constraint-none">
-<span id="class-singa-optimizer-nesterov-lr-none-momentum-0-9-weight-decay-none-regularizer-none-constraint-none"></span><h2>class singa.optimizer.Nesterov(lr=None, momentum=0.9, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-nesterov-lr-none-momentum-0-9-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.Nesterov(lr=None, momentum=0.9, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-nesterov-lr-none-momentum-0-9-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Optimizer</span></code></p>
 <p>包含Nesterov动量的随机梯度下降算法。参数详见Optimizer基类。</p>
-<div class="section" id="apply-with-lr-epoch-lr-grad-value-name-step-1">
-<span id="id1"></span><h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id1">
+<h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-rmsprop-rho-0-9-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none">
-<span id="class-singa-optimizer-rmsprop-rho-0-9-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none"></span><h2>class singa.optimizer.RMSProp(rho=0.9, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-rmsprop-rho-0-9-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.RMSProp(rho=0.9, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-rmsprop-rho-0-9-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Optimizer</span></code></p>
 <p>RMSProp优化器。构造器参数请参考Optimizer基类。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>rho (float)</strong> – [0, 1]间的浮点数</li>
-<li><strong>epsilon (float)</strong> – 很小的值,以避免数值误差</li>
+<li><p><strong>rho (float)</strong> – [0, 1]间的浮点数</p></li>
+<li><p><strong>epsilon (float)</strong> – 很小的值,以避免数值误差</p></li>
 </ul>
-<div class="section" id="apply-with-lr-epoch-lr-grad-value-name-step-1">
-<span id="id2"></span><h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id2">
+<h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-adagrad-epsilon-1e-08-lr-none-weight-decay-none-lr-gen-none-regularizer-none-constraint-none">
-<span id="class-singa-optimizer-adagrad-epsilon-1e-08-lr-none-weight-decay-none-lr-gen-none-regularizer-none-constraint-none"></span><h2>class singa.optimizer.AdaGrad(epsilon=1e-08, lr=None, weight_decay=None, lr_gen=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-adagrad-epsilon-1e-08-lr-none-weight-decay-none-lr-gen-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.AdaGrad(epsilon=1e-08, lr=None, weight_decay=None, lr_gen=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-adagrad-epsilon-1e-08-lr-none-weight-decay-none-lr-gen-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Optimizer</span></code></p>
 <p>AdaGrad优化器。构造器参数请参考Optimizer基类。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>epsilon (float)</strong> – 很小的值,以避免数值误差</li>
+<li><p><strong>epsilon (float)</strong> – 很小的值,以避免数值误差</p></li>
 </ul>
-<div class="section" id="apply-with-lr-epoch-lr-grad-value-name-step-1">
-<span id="id3"></span><h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id3">
+<h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-adam-beta-1-0-9-beta-2-0-999-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none">
-<span id="class-singa-optimizer-adam-beta-1-0-9-beta-2-0-999-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none"></span><h2>class singa.optimizer.Adam(beta_1=0.9, beta_2=0.999, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-adam-beta-1-0-9-beta-2-0-999-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.Adam(beta_1=0.9, beta_2=0.999, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)<a class="headerlink" href="#class-singa-optimizer-adam-beta-1-0-9-beta-2-0-999-epsilon-1e-08-lr-none-weight-decay-none-regularizer-none-constraint-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Optimizer</span></code></p>
 <p>Ada优化器。构造器参数请参考Optimizer基类。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>beta_1 (float)</strong> – 动量系数</li>
-<li><strong>beta_2 (float)</strong> – 整合的梯度平方的系数</li>
-<li><strong>epsilon (float)</strong> – 很小的值,以避免数值误差</li>
+<li><p><strong>beta_1 (float)</strong> – 动量系数</p></li>
+<li><p><strong>beta_2 (float)</strong> – 整合的梯度平方的系数</p></li>
+<li><p><strong>epsilon (float)</strong> – 很小的值,以避免数值误差</p></li>
 </ul>
-<div class="section" id="apply-with-lr-epoch-lr-grad-value-name-step-1">
-<span id="id4"></span><h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#apply-with-lr-epoch-lr-grad-value-name-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id4">
+<h3>apply_with_lr(epoch, lr, grad, value, name, step=-1)<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
 <p>更新一个参数对象</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>step (int)</strong> – 累积训练迭代数,而不是当前迭代ID</li>
+<li><p><strong>step (int)</strong> – 累积训练迭代数,而不是当前迭代ID</p></li>
 </ul>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-regularizer">
-<span id="class-singa-optimizer-regularizer"></span><h2>class singa.optimizer.Regularizer<a class="headerlink" href="#class-singa-optimizer-regularizer" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.Regularizer<a class="headerlink" href="#class-singa-optimizer-regularizer" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">object</span></code></p>
 <p>Python参数梯度正则化的基类。</p>
 <div class="section" id="apply-epoch-value-grad-step-1">
-<span id="apply-epoch-value-grad-step-1"></span><h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
+<h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-cppregularizer-conf">
-<span id="class-singa-optimizer-cppregularizer-conf"></span><h2>class singa.optimizer.CppRegularizer(conf)<a class="headerlink" href="#class-singa-optimizer-cppregularizer-conf" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.CppRegularizer(conf)<a class="headerlink" href="#class-singa-optimizer-cppregularizer-conf" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Regularizer</span></code></p>
 <p>正则化的封装使用C++实现。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>conf (RegularizerConf)</strong> – protobuf配置信息</li>
+<li><p><strong>conf (RegularizerConf)</strong> – protobuf配置信息</p></li>
 </ul>
-<div class="section" id="apply-epoch-value-grad-step-1">
-<span id="id5"></span><h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id5">
+<h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-l2regularizer-coefficient">
-<span id="class-singa-optimizer-l2regularizer-coefficient"></span><h2>class singa.optimizer.L2Regularizer(coefficient)<a class="headerlink" href="#class-singa-optimizer-l2regularizer-coefficient" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.L2Regularizer(coefficient)<a class="headerlink" href="#class-singa-optimizer-l2regularizer-coefficient" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Regularizer</span></code></p>
 <p>L2正则化。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>coefficient (float)</strong> – 正则化系数</li>
+<li><p><strong>coefficient (float)</strong> – 正则化系数</p></li>
 </ul>
-<div class="section" id="apply-epoch-value-grad-step-1">
-<span id="id6"></span><h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id6">
+<h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-constraint">
-<span id="class-singa-optimizer-constraint"></span><h2>class singa.optimizer.Constraint<a class="headerlink" href="#class-singa-optimizer-constraint" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.Constraint<a class="headerlink" href="#class-singa-optimizer-constraint" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">object</span></code></p>
 <p>Python参数梯度约束的基类。</p>
-<div class="section" id="apply-epoch-value-grad-step-1">
-<span id="id7"></span><h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id7">
+<h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-cppconstraint-conf">
-<span id="class-singa-optimizer-cppconstraint-conf"></span><h2>class singa.optimizer.CppConstraint(conf)<a class="headerlink" href="#class-singa-optimizer-cppconstraint-conf" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.CppConstraint(conf)<a class="headerlink" href="#class-singa-optimizer-cppconstraint-conf" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Constraint</span></code></p>
 <p>约束的封装使用C++实现。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>conf (RegularizerConf)</strong> – protobuf配置信息</li>
+<li><p><strong>conf (RegularizerConf)</strong> – protobuf配置信息</p></li>
 </ul>
-<div class="section" id="apply-epoch-value-grad-step-1">
-<span id="id8"></span><h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id8">
+<h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
 </div>
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-optimizer-l2constraint-threshold-none">
-<span id="class-singa-optimizer-l2constraint-threshold-none"></span><h2>class singa.optimizer.L2Constraint(threshold=None)<a class="headerlink" href="#class-singa-optimizer-l2constraint-threshold-none" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.optimizer.L2Constraint(threshold=None)<a class="headerlink" href="#class-singa-optimizer-l2constraint-threshold-none" title="Permalink to this headline">¶</a></h2>
 <p>基类:<code class="docutils literal notranslate"><span class="pre">singa.optimizer.Constraint</span></code></p>
 <p>梯度缩放使得L2 norm小于给定阀值。</p>
-<div class="section" id="apply-epoch-value-grad-step-1">
-<span id="id9"></span><h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#apply-epoch-value-grad-step-1" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id9">
+<h3>apply(epoch, value, grad, step=-1)<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
 <hr class="docutils" />
 </div>
 </div>
@@ -504,7 +504,7 @@
         <a href="data.html" class="btn btn-neutral float-right" title="数据(Data)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="metric.html" class="btn btn-neutral" title="度量(Metric)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="metric.html" class="btn btn-neutral float-left" title="度量(Metric)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -513,7 +513,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2019 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..
+        &copy; Copyright 2019 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>
@@ -530,36 +530,17 @@
   
 
 
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.1.0',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
   </script>
 
+  
+  
+    
+  
+
 <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
   <span class="rst-current-version" data-toggle="rst-current-version">
     <span class="fa fa-book"> incubator-singa </span>

Modified: incubator/singa/site/trunk/zh/docs/snapshot.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/docs/snapshot.html?rev=1857911&r1=1857910&r2=1857911&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/docs/snapshot.html (original)
+++ incubator/singa/site/trunk/zh/docs/snapshot.html Sun Apr 21 13:56:42 2019
@@ -18,15 +18,21 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -44,21 +50,16 @@
 	}
     </style>
 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -210,19 +211,18 @@
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>  <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span class="mf">2.0</span>
+    with the License.  You may obtain a copy of the License at
 
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">&quot;AS IS&quot;</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span>  <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–&gt;</p>
-<div class="section" id="snapshot">
-<span id="snapshot"></span><h1>Snapshot<a class="headerlink" href="#snapshot" title="Permalink to this headline">¶</a></h1>
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+--><div class="section" id="snapshot">
+<h1>Snapshot<a class="headerlink" href="#snapshot" title="Permalink to this headline">¶</a></h1>
 <p>此模块包含io::snapshot类及其方法。</p>
 <p>示例用法:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="kn">import</span> <span class="n">snapshot</span>
@@ -237,22 +237,22 @@
 </div>
 <hr class="docutils" />
 <div class="section" id="class-singa-snapshot-snapshot-f-mode-buffer-size-10">
-<span id="class-singa-snapshot-snapshot-f-mode-buffer-size-10"></span><h2>class singa.snapshot.Snapshot(f, mode, buffer_size=10)<a class="headerlink" href="#class-singa-snapshot-snapshot-f-mode-buffer-size-10" title="Permalink to this headline">¶</a></h2>
+<h2>class singa.snapshot.Snapshot(f, mode, buffer_size=10)<a class="headerlink" href="#class-singa-snapshot-snapshot-f-mode-buffer-size-10" title="Permalink to this headline">¶</a></h2>
 <p><code class="docutils literal notranslate"><span class="pre">singa::Snapshot</span></code>类和成员函数。</p>
 <hr class="docutils" />
 <div class="section" id="read">
-<span id="read"></span><h3>read()<a class="headerlink" href="#read" title="Permalink to this headline">¶</a></h3>
+<h3>read()<a class="headerlink" href="#read" title="Permalink to this headline">¶</a></h3>
 <p>调用read方法加载所有信息(参数名,参数值)。</p>
 <p><strong>返回值:</strong> (参数名,参数值)的字典</p>
 </div>
 <hr class="docutils" />
 <div class="section" id="write-param-name-param-val">
-<span id="write-param-name-param-val"></span><h3>write(param_name, param_val)<a class="headerlink" href="#write-param-name-param-val" title="Permalink to this headline">¶</a></h3>
+<h3>write(param_name, param_val)<a class="headerlink" href="#write-param-name-param-val" title="Permalink to this headline">¶</a></h3>
 <p>调用write方法写回参数。</p>
 <p><strong>参数:</strong></p>
 <ul class="simple">
-<li><strong>param_name (string)</strong> – 参数名</li>
-<li><strong>param_val (Tensor)</strong> – 参数值的tensor</li>
+<li><p><strong>param_name (string)</strong> – 参数名</p></li>
+<li><p><strong>param_val (Tensor)</strong> – 参数值的tensor</p></li>
 </ul>
 <hr class="docutils" />
 </div>
@@ -270,7 +270,7 @@
         <a href="utils.html" class="btn btn-neutral float-right" title="Utils" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="image_tool.html" class="btn btn-neutral" title="图像工具" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="image_tool.html" class="btn btn-neutral float-left" title="图像工具" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -279,7 +279,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2019 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..
+        &copy; Copyright 2019 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>
@@ -296,36 +296,17 @@
   
 
 
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.1.0',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
   </script>
 
+  
+  
+    
+  
+
 <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
   <span class="rst-current-version" data-toggle="rst-current-version">
     <span class="fa fa-book"> incubator-singa </span>

Modified: incubator/singa/site/trunk/zh/docs/software_stack.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/docs/software_stack.html?rev=1857911&r1=1857910&r2=1857911&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/docs/software_stack.html (original)
+++ incubator/singa/site/trunk/zh/docs/software_stack.html Sun Apr 21 13:56:42 2019
@@ -18,15 +18,21 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
@@ -44,21 +50,16 @@
 	}
     </style>
 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -103,9 +104,9 @@
 <li class="toctree-l1 current"><a class="reference internal" href="index.html">文档</a><ul class="current">
 <li class="toctree-l2"><a class="reference internal" href="installation.html">安装</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">软件架构</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#">核心</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#">模型</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#">输入输出</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id2">核心</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id3">模型</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id4">输入输出</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="device.html">设备(Device)</a></li>
@@ -201,26 +202,25 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <div class="section" id="">
-<span id="id1"></span><h1>软件架构<a class="headerlink" href="#" title="Permalink to this headline">¶</a></h1>
+  <div class="section" id="id1">
+<h1>软件架构<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
 <p>SINGA的软件架构包括三个主要部分,即核心(Core),输入输出(IO)和模型(Model)。 图1阐述了这些组件以及硬件。核心部分提供了内存管理和张量操作;输入输出包括从(向)磁盘和网络读取(写入)的类;模型部分为机器学习模型提供数据结构和算法支持,比如用于神经网络模型的层,用于通用机器学习模型的优化器/初始化/度量/损失函数等。</p>
-<p><img src="../_static/images/singav1-sw.png" align="center" width="500px"/>
+<img src="../_static/images/singav1-sw.png" align="center" width="500px"/>
 <br/>
-<span><strong>Figure 1 - SINGA V1 software stack.</strong></span></p>
-<div class="section" id="">
-<span id="id2"></span><h2>核心<a class="headerlink" href="#" title="Permalink to this headline">¶</a></h2>
+<span><strong>Figure 1 - SINGA V1 software stack.</strong></span><div class="section" id="id2">
+<h2>核心<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
 <p>张量(<a class="reference external" href="tensor.html">Tensor</a>)和设备(<a class="reference external" href="device.html">Device</a>)是SINGA的两个核心抽象类。 Tensor代表了一个多维数组,存储了模型的变量并且为机器学习算法提供线性代数的操作,这些操作包括矩阵乘法和随机函数。每个Tensor实例被分配在一个设备实例上。 每个Device实例被创建在一台硬件设备上,如GPU或CPU核上。设备类用于管理张量所占用的内存以及在执行单元上执行张量操作,比如CPU线程æˆ
 –CUDA流。</p>
 <p>依赖于硬件和编程语言,SINGA实现了以下特定的设备类:</p>
 <ul class="simple">
-<li><strong>CudaGPU</strong> 代表一个Nvidia GPU。 执行单元是CUDA流。</li>
-<li><strong>CppCPU</strong> 代表一个CPU。 执行单元是CPU线程。</li>
-<li><strong>OpenclGPU</strong> 代表Nvidia和AMD的GPU。执行单元是CommandQueues。OpenCL和很多硬件设备兼容,比如FPGA和ARM,所以OpenclGPU可以扩展到其他设备上。</li>
+<li><p><strong>CudaGPU</strong> 代表一个Nvidia GPU。 执行单元是CUDA流。</p></li>
+<li><p><strong>CppCPU</strong> 代表一个CPU。 执行单元是CPU线程。</p></li>
+<li><p><strong>OpenclGPU</strong> 代表Nvidia和AMD的GPU。执行单元是CommandQueues。OpenCL和很多硬件设备兼容,比如FPGA和ARM,所以OpenclGPU可以扩展到其他设备上。</p></li>
 </ul>
 <p>不同类型的设备使用不同编程语言书写用于张量操作的核函数,</p>
 <ul class="simple">
-<li>CppMath (tensor_math_cpp.h) 用Cpp实现了CppCPU的张量操作</li>
-<li>CudaMath (tensor_math_cuda.h) 用CUDA实现了CudaGPU的张量操作</li>
-<li>OpenclMath (tensor_math_opencl.h) 用OpenCL实现了OpenclGPU的张量操作</li>
+<li><p>CppMath (tensor_math_cpp.h) 用Cpp实现了CppCPU的张量操作</p></li>
+<li><p>CudaMath (tensor_math_cuda.h) 用CUDA实现了CudaGPU的张量操作</p></li>
+<li><p>OpenclMath (tensor_math_opencl.h) 用OpenCL实现了OpenclGPU的张量操作</p></li>
 </ul>
 <p>另外,不同类型的数据,比如float32和float16,可以通过加入相应的张量函数来支持。</p>
 <p>典型地,用户将创建一个Device实例并把它传给多个Tensor实例。 当用户调用Tensor函数时,这些函数会自动唤起对应的实现(CppMath/CudaMath/OpenclMath)。 换句话说,Tensor操作的实现对用户是透明的。</p>
@@ -228,27 +228,27 @@
 <p>Tensor和Device的抽象化可以扩展通过不同编程语言以支持大量硬件设备。 一个新的硬件设备可以通过添加一个新的Device子类和实现相应的张量操作(xxxMath)加以支持。</p>
 <p>基于速度和空间占用的优化可以被Device实现。 它管理着操作执行和内存的分配和释放。 更多的优化细节可以在<a class="reference external" href="device.html">Device页面</a>看到。</p>
 </div>
-<div class="section" id="">
-<span id="id3"></span><h2>模型<a class="headerlink" href="#" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id3">
+<h2>模型<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
 <p>在Tensor和Device的抽象化之上,SINGA提供了更高级的类用于机器学习模型。</p>
 <ul class="simple">
-<li><a class="reference external" href="layer.html">Layer</a>和它的子类特别用于神经网络。 每个层为向前传递特征和向后传递梯度提供函数支持。 它们将复杂的操作封装起来使用户可以很容易创建神经网络连接一系列层。</li>
-<li><a class="reference external" href="initializer.html">Initializer</a>和它的子类为初始化模型参数(存储在Tesnor实例中)提供了可变的方法,包括Uniform,Gaussian等等。</li>
-<li><a class="reference external" href="loss.html">Loss</a>和它的子类定义了训练目标损失函数。与目标损失对应的计算损失值和计算梯度的函数都已被实现。 常见的损失函数包括平方差和交叉熵。</li>
-<li><a class="reference external" href="metric.html">Metric</a>和它的子类提供了评估模型性能的函数,比如精确度。</li>
-<li><a class="reference external" href="optimizer.html">Optimizer</a>和它的子类实现了如何利用参数梯度更新模型参数的方法,包括SGD, AdaGrad, RMSProp等等。</li>
+<li><p><a class="reference external" href="layer.html">Layer</a>和它的子类特别用于神经网络。 每个层为向前传递特征和向后传递梯度提供函数支持。 它们将复杂的操作封装起来使用户可以很容易创建神经网络连接一系列层。</p></li>
+<li><p><a class="reference external" href="initializer.html">Initializer</a>和它的子类为初始化模型参数(存储在Tesnor实例中)提供了可变的方法,包括Uniform,Gaussian等等。</p></li>
+<li><p><a class="reference external" href="loss.html">Loss</a>和它的子类定义了训练目标损失函数。与目标损失对应的计算损失值和计算梯度的函数都已被实现。 常见的损失函数包括平方差和交叉熵。</p></li>
+<li><p><a class="reference external" href="metric.html">Metric</a>和它的子类提供了评估模型性能的函数,比如精确度。</p></li>
+<li><p><a class="reference external" href="optimizer.html">Optimizer</a>和它的子类实现了如何利用参数梯度更新模型参数的方法,包括SGD, AdaGrad, RMSProp等等。</p></li>
 </ul>
 </div>
-<div class="section" id="">
-<span id="id4"></span><h2>输入输出<a class="headerlink" href="#" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id4">
+<h2>输入输出<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
 <p>输入输出包含数据加载,数据预处理和信息传递类。</p>
 <ul class="simple">
-<li>Reader和它的子类从磁盘文件加载字符串记录</li>
-<li>Writer和它的子类将字符串记录写到磁盘文件中</li>
-<li>Encoder和它的子类将Tensor实例编译成字符串记录</li>
-<li>Decoder和它的子类将字符串记录解码为Tensor实例</li>
-<li>Endpoint代表为消息传递提供函数的交互终端</li>
-<li>Message代表Endpoint实例间的交互消息。它会传递元数据和负载</li>
+<li><p>Reader和它的子类从磁盘文件加载字符串记录</p></li>
+<li><p>Writer和它的子类将字符串记录写到磁盘文件中</p></li>
+<li><p>Encoder和它的子类将Tensor实例编译成字符串记录</p></li>
+<li><p>Decoder和它的子类将字符串记录解码为Tensor实例</p></li>
+<li><p>Endpoint代表为消息传递提供函数的交互终端</p></li>
+<li><p>Message代表Endpoint实例间的交互消息。它会传递元数据和负载</p></li>
 </ul>
 </div>
 </div>
@@ -264,7 +264,7 @@
         <a href="device.html" class="btn btn-neutral float-right" title="设备(Device)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="installation.html" class="btn btn-neutral" title="安装" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="installation.html" class="btn btn-neutral float-left" title="安装" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -273,7 +273,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2019 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..
+        &copy; Copyright 2019 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>
@@ -290,36 +290,17 @@
   
 
 
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.1.0',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
   </script>
 
+  
+  
+    
+  
+
 <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
   <span class="rst-current-version" data-toggle="rst-current-version">
     <span class="fa fa-book"> incubator-singa </span>