Modified: incubator/singa/site/trunk/docs/dependencies.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/dependencies.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/dependencies.html (original)
+++ incubator/singa/site/trunk/docs/dependencies.html Sat Jun 29 14:42:24 2019
@@ -265,10 +265,10 @@ folders).</p>
 <div class="section" id="faq">
 <h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this 
headline">¶</a></h2>
 <ol>
-<li><p class="first">Error C2375 ‘snprintf’: redefinition; different 
linkage</p>
+<li><p>Error C2375 ‘snprintf’: redefinition; different linkage</p>
 <p>Add “HAVE_SNPRINTF” to “C/C++ - Preprocessor - Preprocessor 
definitions”</p>
 </li>
-<li><p class="first">Error due to hash map</p>
+<li><p>Error due to hash map</p>
 <p>Add “_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS” to Preprocessor 
Definitions.</p>
 </li>
 </ol>

Modified: incubator/singa/site/trunk/docs/device.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/device.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/device.html (original)
+++ incubator/singa/site/trunk/docs/device.html Sat Jun 29 14:42:24 2019
@@ -37,7 +37,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Tensor" href="tensor.html" />
-    <link rel="prev" title="Software Stack" href="software_stack.html" />
+    <link rel="prev" title="Benchmark for Distributed training" 
href="benchmark.html" />
     <link href="../_static/style.css" rel="stylesheet" type="text/css">
     <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" 
type="text/css"-->
        <link rel="stylesheet" 
href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"; 
integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp"
 crossorigin="anonymous">
@@ -104,9 +104,10 @@
 <li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Documentation</a><ul class="current">
 <li class="toctree-l2"><a class="reference internal" 
href="installation.html">Installation</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="software_stack.html">Software Stack</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="benchmark.html">Benchmark for Distributed training</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" 
href="#">Device</a><ul>
 <li class="toctree-l3"><a class="reference internal" 
href="#specific-devices">Specific devices</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#python-api">Python 
API</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#module-singa.device">Python API</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP 
API</a></li>
 </ul>
 </li>
@@ -218,13 +219,50 @@ of memory and execution are implemented
 <h2>Specific devices<a class="headerlink" href="#specific-devices" 
title="Permalink to this headline">¶</a></h2>
 <p>Currently, SINGA has three Device implmentations,</p>
 <ol class="arabic simple">
-<li>CudaGPU for an Nvidia GPU card which runs Cuda code</li>
-<li>CppCPU for a CPU which runs Cpp code</li>
-<li>OpenclGPU for a GPU card which runs OpenCL code</li>
+<li><p>CudaGPU for an Nvidia GPU card which runs Cuda code</p></li>
+<li><p>CppCPU for a CPU which runs Cpp code</p></li>
+<li><p>OpenclGPU for a GPU card which runs OpenCL code</p></li>
 </ol>
 </div>
-<div class="section" id="python-api">
-<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to 
this headline">¶</a></h2>
+<div class="section" id="module-singa.device">
+<span id="python-api"></span><h2>Python API<a class="headerlink" 
href="#module-singa.device" title="Permalink to this headline">¶</a></h2>
+<p>This script includes Device class and its subclasses for python users
+to call singa::Device and its methods.</p>
+<p>TODO(wangwei) implement py CudaGPU class.</p>
+<dl class="function">
+<dt id="singa.device.create_cuda_gpus">
+<code class="descclassname">singa.device.</code><code 
class="descname">create_cuda_gpus</code><span 
class="sig-paren">(</span><em>num</em><span class="sig-paren">)</span><a 
class="headerlink" href="#singa.device.create_cuda_gpus" title="Permalink to 
this definition">¶</a></dt>
+<dd><p>Create a list of CudaGPU devices.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>num</strong> (<em>int</em>) – number of 
device to create.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a list of swig converted CudaGPU devices.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.device.create_cuda_gpus_on">
+<code class="descclassname">singa.device.</code><code 
class="descname">create_cuda_gpus_on</code><span 
class="sig-paren">(</span><em>device_ids</em><span class="sig-paren">)</span><a 
class="headerlink" href="#singa.device.create_cuda_gpus_on" title="Permalink to 
this definition">¶</a></dt>
+<dd><p>Create a list of CudaGPU devices.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>device_ids</strong> (<em>list</em>) – a 
list of GPU card IDs.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a list of swig converted CudaGPU devices.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.device.get_default_device">
+<code class="descclassname">singa.device.</code><code 
class="descname">get_default_device</code><span class="sig-paren">(</span><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.device.get_default_device" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Get the default host device which is a CppCPU device</p>
+</dd></dl>
+
 <p>The following code provides examples of creating devices:</p>
 <div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="kn">from</span> <span 
class="nn">singa</span> <span class="k">import</span> <span 
class="n">device</span>
 <span class="n">cuda</span> <span class="o">=</span> <span 
class="n">device</span><span class="o">.</span><span 
class="n">create_cuda_gpu_on</span><span class="p">(</span><span 
class="mi">0</span><span class="p">)</span>  <span class="c1"># use GPU card of 
ID 0</span>
@@ -250,7 +288,7 @@ of memory and execution are implemented
         <a href="tensor.html" class="btn btn-neutral float-right" 
title="Tensor" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right"></span></a>
       
       
-        <a href="software_stack.html" class="btn btn-neutral float-left" 
title="Software Stack" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left"></span> Previous</a>
+        <a href="benchmark.html" class="btn btn-neutral float-left" 
title="Benchmark for Distributed training" accesskey="p" rel="prev"><span 
class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   

Modified: incubator/singa/site/trunk/docs/docker.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/docker.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/docker.html (original)
+++ incubator/singa/site/trunk/docs/docker.html Sat Jun 29 14:42:24 2019
@@ -202,8 +202,8 @@
 <div class="section" id="available-tags">
 <h2>Available tags<a class="headerlink" href="#available-tags" 
title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span 
class="pre">devel</span></code>, with SINGA and the development packages 
installed on Ubuntu16.04 (no GPU)</li>
-<li><code class="docutils literal notranslate"><span 
class="pre">devel-cuda</span></code>, with SINGA, CUDA8.0, CUDNN5, and other 
development packages installed on Ubuntu16.04</li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">devel</span></code>, with SINGA and the development packages 
installed on Ubuntu16.04 (no GPU)</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">devel-cuda</span></code>, with SINGA, CUDA8.0, CUDNN5, and other 
development packages installed on Ubuntu16.04</p></li>
 </ul>
 </div>
 <div class="section" id="use-the-existing-docker-images">
@@ -234,9 +234,9 @@ Dockerfile folder, e.g., tool/docker/dev
 </pre></div>
 </div>
 <ul class="simple">
-<li>devel: development images with all dependent libs’ header files 
installed and SINGA’s source code; runtime: the minimal images which can run 
SINGA programs.</li>
-<li>CUDA: cuda10.0, cuda9.0</li>
-<li>CUDNN: cudnn7</li>
+<li><p>devel: development images with all dependent libs’ header files 
installed and SINGA’s source code; runtime: the minimal images which can run 
SINGA programs.</p></li>
+<li><p>CUDA: cuda10.0, cuda9.0</p></li>
+<li><p>CUDNN: cudnn7</p></li>
 </ul>
 <p>Here are some example tags:</p>
 <p><code class="docutils literal notranslate"><span 
class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal 
notranslate"><span class="pre">devel-cuda9-cudnn7</span></code>, <code 
class="docutils literal notranslate"><span 
class="pre">devel-cuda10-cudnn7</span></code>, <code class="docutils literal 
notranslate"><span class="pre">devel-cpu</span></code>, <code class="docutils 
literal notranslate"><span class="pre">runtime-gpu</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">runtime-cpu</span></code></p>

Modified: incubator/singa/site/trunk/docs/image_tool.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/image_tool.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/image_tool.html (original)
+++ incubator/singa/site/trunk/docs/image_tool.html Sat Jun 29 14:42:24 2019
@@ -104,6 +104,7 @@
 <li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Documentation</a><ul class="current">
 <li class="toctree-l2"><a class="reference internal" 
href="installation.html">Installation</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="software_stack.html">Software Stack</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="benchmark.html">Benchmark for Distributed training</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="device.html">Device</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tensor.html">Tensor</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="layer.html">Layer</a></li>
@@ -203,8 +204,281 @@
           <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
            <div itemprop="articleBody">
             
-  <div class="section" id="image-tool">
-<h1>Image Tool<a class="headerlink" href="#image-tool" title="Permalink to 
this headline">¶</a></h1>
+  <div class="section" id="module-singa.image_tool">
+<span id="image-tool"></span><h1>Image Tool<a class="headerlink" 
href="#module-singa.image_tool" title="Permalink to this headline">¶</a></h1>
+<p>An utility model for image augmentation.</p>
+<p>Example usage:</p>
+<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="kn">from</span> <span 
class="nn">singa</span> <span class="k">import</span> <span 
class="n">image_tool</span>
+
+<span class="n">tool</span> <span class="o">=</span> <span 
class="n">image_tool</span><span class="o">.</span><span 
class="n">ImageTool</span><span class="p">()</span>
+<span class="n">imgs</span> <span class="o">=</span> <span 
class="n">tool</span><span class="o">.</span><span class="n">load</span><span 
class="p">(</span><span class="s1">&#39;input.png&#39;</span><span 
class="p">)</span><span class="o">.</span>        <span 
class="n">resize_by_list</span><span class="p">([</span><span 
class="mi">112</span><span class="p">])</span><span class="o">.</span><span 
class="n">crop5</span><span class="p">((</span><span class="mi">96</span><span 
class="p">,</span> <span class="mi">96</span><span class="p">),</span> <span 
class="mi">5</span><span class="p">)</span><span class="o">.</span><span 
class="n">enhance</span><span class="p">()</span><span class="o">.</span><span 
class="n">flip</span><span class="p">()</span><span class="o">.</span><span 
class="n">get</span><span class="p">()</span>
+<span class="k">for</span> <span class="n">idx</span><span class="p">,</span> 
<span class="n">img</span> <span class="ow">in</span> <span 
class="nb">enumerate</span><span class="p">(</span><span 
class="n">imgs</span><span class="p">):</span>
+    <span class="n">img</span><span class="o">.</span><span 
class="n">save</span><span class="p">(</span><span class="s1">&#39;</span><span 
class="si">%d</span><span class="s1">.png&#39;</span> <span class="o">%</span> 
<span class="n">idx</span><span class="p">)</span>
+</pre></div>
+</div>
+<dl class="class">
+<dt id="singa.image_tool.ImageTool">
+<em class="property">class </em><code 
class="descclassname">singa.image_tool.</code><code 
class="descname">ImageTool</code><a class="headerlink" 
href="#singa.image_tool.ImageTool" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>A tool for image augmentation.</p>
+<p>For operations with inplace=True, the returned value is the ImageTool
+instance self, which is for chaining multiple operations; Otherwise, the
+preprocessed images would be returned.</p>
+<p>For operations that has countable pre-processing cases, argument num_case
+could be set to decide the number of pre-processing cases to apply.
+Typically, it is set to 1 for training phases and to the max for test
+phases.</p>
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.color_cast">
+<code class="descname">color_cast</code><span 
class="sig-paren">(</span><em>offset=20</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.color_cast" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Add a random value from [-offset, offset] to each channel</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>offset</strong> – cast offset, &gt;0 and &lt;255</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.crop3">
+<code class="descname">crop3</code><span 
class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, 
<em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.crop3" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Crop a max square patch of the input image at given position and
+scale it into given size.</p>
+<p>According to img size, crop position could be either
+(left, center, right) or (top, middle, bottom).</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>patch</strong> (<em>tuple</em>) – the width and height the 
output image</p></li>
+<li><p><strong>num_case</strong> – num of cases, must be in [1,3]</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.crop5">
+<code class="descname">crop5</code><span 
class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, 
<em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.crop5" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Crop at positions from [left_top, left_bottom, right_top,
+right_bottom, and center].</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the 
result image.</p></li>
+<li><p><strong>num_case</strong> – num of cases, must be in [1,5]</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.crop8">
+<code class="descname">crop8</code><span 
class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, 
<em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.crop8" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>This is a union of patch_5 and patch_and_scale.</p>
+<p>You can follow this example to union any num of cases of imgtool methods</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.enhance">
+<code class="descname">enhance</code><span 
class="sig-paren">(</span><em>scale=0.2</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.enhance" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Apply random enhancement for Color,Contrast,Brightness,Sharpness.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>scale</strong> (<em>float</em>) – enhancement degree is from 
[1-scale, 1+scale]</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.flip">
+<code class="descname">flip</code><span 
class="sig-paren">(</span><em>num_case=1</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.flip" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Randomly flip a img left to right.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>num_case</strong> – num of cases, must be in {1,2}; if 2, 
then add the orignal
+and flipped img</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not (return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.flip_down">
+<code class="descname">flip_down</code><span 
class="sig-paren">(</span><em>num_case=1</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.flip_down" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Randomly flip a img top to bottom.
+:param num_case: num of cases, must be in {1,2}; if 2, then add the orignal</p>
+<blockquote>
+<div><p>and flip_down img</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>inplace</strong> – inplace imgs or not 
(return new_imgs)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.num_augmentation">
+<code class="descname">num_augmentation</code><span 
class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.num_augmentation" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return the total number of augmentations to each image</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.random_crop">
+<code class="descname">random_crop</code><span 
class="sig-paren">(</span><em>patch</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.random_crop" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Crop the image at random offset to get a patch of the given size.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the 
patch</p></li>
+<li><p><strong>inplace</strong> (<em>Boolean</em>) – replace the internal 
images list with the patches
+if True; otherwise, return the patches.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.random_crop_resize">
+<code class="descname">random_crop_resize</code><span 
class="sig-paren">(</span><em>patch</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.random_crop_resize" title="Permalink to this 
definition">¶</a></dt>
+<dd><dl class="simple">
+<dt>Crop of the image at a random size between 0.08 to 1 of input 
image</dt><dd><p>and random aspect ratio between 3/4 to 4/3.
+This crop is then resized to the given patch size.</p>
+</dd>
+</dl>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the 
patch</p></li>
+<li><p><strong>inplace</strong> (<em>Boolean</em>) – replace the internal 
images list with the patches
+if True; otherwise, return the patches.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.resize_by_list">
+<code class="descname">resize_by_list</code><span 
class="sig-paren">(</span><em>size_list</em>, <em>num_case=1</em>, 
<em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.resize_by_list" title="Permalink to this 
definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>num_case</strong> – num of resize cases, must be &lt;= the 
length of size_list</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.resize_by_range">
+<code class="descname">resize_by_range</code><span 
class="sig-paren">(</span><em>rng</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.resize_by_range" title="Permalink to this 
definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rng</strong> – a tuple (begin,end), include begin, exclude 
end</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.rotate_by_list">
+<code class="descname">rotate_by_list</code><span 
class="sig-paren">(</span><em>angle_list</em>, <em>num_case=1</em>, 
<em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.rotate_by_list" title="Permalink to this 
definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>num_case</strong> – num of rotate cases, must be &lt;= the 
length of angle_list</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="singa.image_tool.ImageTool.rotate_by_range">
+<code class="descname">rotate_by_range</code><span 
class="sig-paren">(</span><em>rng</em>, <em>inplace=True</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.ImageTool.rotate_by_range" title="Permalink to this 
definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rng</strong> – a tuple (begin,end) in degree, include begin, 
exclude end</p></li>
+<li><p><strong>inplace</strong> – inplace imgs or not ( return 
new_imgs)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.image_tool.color_cast">
+<code class="descclassname">singa.image_tool.</code><code 
class="descname">color_cast</code><span class="sig-paren">(</span><em>img</em>, 
<em>offset</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.color_cast" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Add a random value from [-offset, offset] to each channel</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.image_tool.crop">
+<code class="descclassname">singa.image_tool.</code><code 
class="descname">crop</code><span class="sig-paren">(</span><em>img</em>, 
<em>patch</em>, <em>position</em><span class="sig-paren">)</span><a 
class="headerlink" href="#singa.image_tool.crop" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Crop the input image into given size at given position.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the 
patch</p></li>
+<li><p><strong>position</strong> 
(<em>list</em><em>(</em><em>str</em><em>)</em>) – left_top, left_bottom, 
right_top, right_bottom</p></li>
+<li><p><strong>center.</strong> (<em>and</em>) – </p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.image_tool.crop_and_resize">
+<code class="descclassname">singa.image_tool.</code><code 
class="descname">crop_and_resize</code><span 
class="sig-paren">(</span><em>img</em>, <em>patch</em>, <em>position</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.crop_and_resize" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Crop a max square patch of the input image at given position and resize
+it into given size.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>patch</strong> (<em>tuple</em>) – width, height</p></li>
+<li><p><strong>position</strong> 
(<em>list</em><em>(</em><em>str</em><em>)</em>) – left, center, right, top, 
middle, bottom.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.image_tool.enhance">
+<code class="descclassname">singa.image_tool.</code><code 
class="descname">enhance</code><span class="sig-paren">(</span><em>img</em>, 
<em>scale</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.enhance" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Apply random enhancement for Color,Contrast,Brightness,Sharpness.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>scale</strong> (<em>float</em>) – 
enhancement degree is from [1-scale, 1+scale]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.image_tool.load_img">
+<code class="descclassname">singa.image_tool.</code><code 
class="descname">load_img</code><span class="sig-paren">(</span><em>path</em>, 
<em>grayscale=False</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.load_img" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Read the image from a give path</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.image_tool.resize">
+<code class="descclassname">singa.image_tool.</code><code 
class="descname">resize</code><span class="sig-paren">(</span><em>img</em>, 
<em>small_size</em><span class="sig-paren">)</span><a class="headerlink" 
href="#singa.image_tool.resize" title="Permalink to this definition">¶</a></dt>
+<dd><p>Resize the image to make the smaller side be at the given size</p>
+</dd></dl>
+
 </div>
 
 

Modified: incubator/singa/site/trunk/docs/index.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/index.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/index.html (original)
+++ incubator/singa/site/trunk/docs/index.html Sat Jun 29 14:42:24 2019
@@ -104,6 +104,7 @@
 <li class="toctree-l1 current"><a class="current reference internal" 
href="#">Documentation</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="installation.html">Installation</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="software_stack.html">Software Stack</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="benchmark.html">Benchmark for Distributed training</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="device.html">Device</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tensor.html">Tensor</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="layer.html">Layer</a></li>
@@ -231,26 +232,27 @@
 <li class="toctree-l2"><a class="reference internal" 
href="software_stack.html#io">IO</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" 
href="benchmark.html">Benchmark for Distributed training</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="device.html">Device</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="device.html#specific-devices">Specific devices</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="device.html#python-api">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="device.html#module-singa.device">Python API</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="device.html#cpp-api">CPP API</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="tensor.html">Tensor</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="tensor.html#tensor-implementation">Tensor implementation</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="tensor.html#python-api">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="tensor.html#module-singa.tensor">Python API</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tensor.html#cpp-api">CPP API</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="layer.html">Layer</a><ul>
-<li class="toctree-l2"><a class="reference internal" 
href="layer.html#python-api">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="layer.html#module-singa.layer">Python API</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="layer.html#cpp-api">CPP API</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="net.html">FeedForward Net</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="initializer.html">Initializer</a><ul>
-<li class="toctree-l2"><a class="reference internal" 
href="initializer.html#python-api">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="initializer.html#module-singa.initializer">Python API</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="initializer.html#cpp-api">CPP API</a></li>
 </ul>
 </li>
@@ -301,10 +303,6 @@
 <li class="toctree-l3"><a class="reference internal" 
href="model_zoo/char-rnn/README.html#instructions">Instructions</a></li>
 </ul>
 </li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/mnist/README.html">Train a RBM model against MNIST 
dataset</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/mnist/README.html#running-instructions">Running 
instructions</a></li>
-</ul>
-</li>
 <li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/alexnet/README.html">Train AlexNet over 
ImageNet</a><ul>
 <li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/alexnet/README.html#instructions">Instructions</a><ul>
 <li class="toctree-l4"><a class="reference internal" 
href="model_zoo/imagenet/alexnet/README.html#compile-singa">Compile 
SINGA</a></li>
@@ -315,15 +313,6 @@
 </li>
 </ul>
 </li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/densenet/README.html">name: DenseNet models on ImageNet
-SINGA version: 1.1.1
-SINGA commit:
-license: 
https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/densenet/README.html#image-classification-using-densenet">Image
 Classification using DenseNet</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/densenet/README.html#instructions">Instructions</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/densenet/README.html#details">Details</a></li>
-</ul>
-</li>
 <li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/googlenet/README.html">name: GoogleNet on ImageNet
 SINGA version: 1.0.1
 SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
@@ -335,36 +324,6 @@ license: unrestricted https://github.com
 <li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/googlenet/README.html#details">Details</a></li>
 </ul>
 </li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/inception/README.html">name: Inception V4 on ImageNet
-SINGA version: 1.1.1
-SINGA commit:
-parameter_url: 
https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz
-parameter_sha1: 5fdd6f5d8af8fd10e7321d9b38bb87ef14e80d56
-license: https://github.com/tensorflow/models/tree/master/slim</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/inception/README.html#image-classification-using-inception-v4">Image
 Classification using Inception V4</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/inception/README.html#instructions">Instructions</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/inception/README.html#details">Details</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/resnet/README.html">name: Resnets on ImageNet
-SINGA version: 1.1
-SINGA commit: 45ec92d8ffc1fa1385a9307fdf07e21da939ee2f
-parameter_url: 
https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
-license: Apache V2, 
https://github.com/facebook/fb.resnet.torch/blob/master/LICENSE</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/resnet/README.html#image-classification-using-residual-networks">Image
 Classification using Residual Networks</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/resnet/README.html#instructions">Instructions</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/resnet/README.html#details">Details</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/vgg/README.html">name: VGG models on ImageNet
-SINGA version: 1.1.1
-SINGA commit:
-license: 
https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="model_zoo/imagenet/vgg/README.html#image-classification-using-vgg">Image 
Classification using VGG</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/vgg/README.html#instructions">Instructions</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="model_zoo/imagenet/vgg/README.html#details">Details</a></li>
-</ul>
-</li>
 </ul>
 </li>
 </ul>

Modified: incubator/singa/site/trunk/docs/initializer.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/initializer.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/initializer.html (original)
+++ incubator/singa/site/trunk/docs/initializer.html Sat Jun 29 14:42:24 2019
@@ -104,12 +104,13 @@
 <li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Documentation</a><ul class="current">
 <li class="toctree-l2"><a class="reference internal" 
href="installation.html">Installation</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="software_stack.html">Software Stack</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="benchmark.html">Benchmark for Distributed training</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="device.html">Device</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tensor.html">Tensor</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="layer.html">Layer</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="net.html">FeedForward Net</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" 
href="#">Initializer</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#python-api">Python 
API</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#module-singa.initializer">Python API</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP 
API</a></li>
 </ul>
 </li>
@@ -209,8 +210,60 @@
             
   <div class="section" id="initializer">
 <h1>Initializer<a class="headerlink" href="#initializer" title="Permalink to 
this headline">¶</a></h1>
-<div class="section" id="python-api">
-<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to 
this headline">¶</a></h2>
+<div class="section" id="module-singa.initializer">
+<span id="python-api"></span><h2>Python API<a class="headerlink" 
href="#module-singa.initializer" title="Permalink to this headline">¶</a></h2>
+<p>Popular initialization methods for parameter values (Tensor objects).</p>
+<p>Example usages:</p>
+<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="kn">from</span> <span 
class="nn">singa</span> <span class="k">import</span> <span 
class="n">tensor</span>
+<span class="kn">from</span> <span class="nn">singa</span> <span 
class="k">import</span> <span class="n">initializer</span>
+
+<span class="n">x</span> <span class="o">=</span> <span 
class="n">tensor</span><span class="o">.</span><span 
class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span 
class="p">,</span> <span class="mi">5</span><span class="p">))</span>
+<span class="n">initializer</span><span class="o">.</span><span 
class="n">uniform</span><span class="p">(</span><span class="n">x</span><span 
class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span 
class="mi">5</span><span class="p">)</span> <span class="c1"># use both fan_in 
and fan_out</span>
+<span class="n">initializer</span><span class="o">.</span><span 
class="n">uniform</span><span class="p">(</span><span class="n">x</span><span 
class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span 
class="mi">0</span><span class="p">)</span>  <span class="c1"># use only 
fan_in</span>
+</pre></div>
+</div>
+<dl class="function">
+<dt id="singa.initializer.uniform">
+<code class="descclassname">singa.initializer.</code><code 
class="descname">uniform</code><span class="sig-paren">(</span><em>t</em>, 
<em>fan_in=0</em>, <em>fan_out=0</em><span class="sig-paren">)</span><a 
class="headerlink" href="#singa.initializer.uniform" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Initialize the values of the input tensor following a uniform
+distribution with specific bounds.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fan_in</strong> (<em>int</em>) – for the weight Tensor of a 
convolution layer,
+fan_in = nb_channel * kh * kw; for dense layer,
+fan_in = input_feature_length</p></li>
+<li><p><strong>fan_out</strong> (<em>int</em>) – for the convolution layer 
weight Tensor,
+fan_out = nb_filter * kh * kw; for the weight Tensor of a dense
+layer, fan_out = output_feature_length</p></li>
+</ul>
+</dd>
+</dl>
+<p>Ref: [Bengio and Glorot 2010]: Understanding the difficulty of
+training deep feedforward neuralnetworks.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="singa.initializer.gaussian">
+<code class="descclassname">singa.initializer.</code><code 
class="descname">gaussian</code><span class="sig-paren">(</span><em>t</em>, 
<em>fan_in=0</em>, <em>fan_out=0</em><span class="sig-paren">)</span><a 
class="headerlink" href="#singa.initializer.gaussian" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Initialize the values of the input tensor following a Gaussian
+distribution with specific std.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fan_in</strong> (<em>int</em>) – for the weight Tensor of a 
convolution layer,
+fan_in = nb_channel * kh * kw; for dense layer,
+fan_in = input_feature_length</p></li>
+<li><p><strong>fan_out</strong> (<em>int</em>) – for the convolution layer 
weight Tensor,
+fan_out = nb_filter * kh * kw; for the weight Tensor of a dense
+layer, fan_out = output_feature_length</p></li>
+</ul>
+</dd>
+</dl>
+<p>Ref Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun: Delving Deep into
+Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
+</dd></dl>
+
 </div>
 <div class="section" id="cpp-api">
 <h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this 
headline">¶</a></h2>

Modified: incubator/singa/site/trunk/docs/install_macos1013.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/install_macos1013.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/install_macos1013.html (original)
+++ incubator/singa/site/trunk/docs/install_macos1013.html Sat Jun 29 14:42:24 
2019
@@ -185,14 +185,14 @@
 <div class="section" id="requirements">
 <h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to 
this headline">¶</a></h2>
 <ul class="simple">
-<li>homebrew is used to install the requirements. Try:</li>
+<li><p>homebrew is used to install the requirements. Try:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>brew update
 </pre></div>
 </div>
 <p>If you don’t have homebrew in your system or if you upgraded from a 
previous operating system, you may see an error message. See FAQ below.</p>
 <ul class="simple">
-<li>installing required software for building SINGA:</li>
+<li><p>installing required software for building SINGA:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>brew tap homebrew/science
 brew tap homebrew/python
@@ -215,7 +215,7 @@ brew install wget
 </pre></div>
 </div>
 <ul class="simple">
-<li>preparing compiler</li>
+<li><p>preparing compiler</p></li>
 </ul>
 <p>To let the compiler (and cmake) know the openblas
 path,</p>
@@ -232,7 +232,7 @@ path,</p>
 </pre></div>
 </div>
 <ul class="simple">
-<li>Get the source code and build it:</li>
+<li><p>Get the source code and build it:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>git clone 
https://github.com/apache/incubator-singa.git
 
@@ -245,14 +245,14 @@ make
 </pre></div>
 </div>
 <ul class="simple">
-<li>Optional: create virtual enviromnet:</li>
+<li><p>Optional: create virtual enviromnet:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>virtualenv ~/venv
 <span class="nb">source</span> ~/venv/bin/activate
 </pre></div>
 </div>
 <ul class="simple">
-<li>Install the python module</li>
+<li><p>Install the python module</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span><span class="nb">cd</span> python
 pip install .
@@ -264,7 +264,7 @@ pip install .
 </div>
 <p>then SINGA is installed successfully.</p>
 <ul class="simple">
-<li>Run Jupyter notebook</li>
+<li><p>Run Jupyter notebook</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>pip install matplotlib
 
@@ -276,12 +276,12 @@ jupyter notebook
 <div class="section" id="video-tutorial">
 <h2>Video Tutorial<a class="headerlink" href="#video-tutorial" 
title="Permalink to this headline">¶</a></h2>
 <p>See these steps in the following video:</p>
-<table border="1" class="docutils">
+<table class="docutils align-center">
 <colgroup>
-<col width="100%" />
+<col style="width: 100%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" 
href="https://www.youtube.com/watch?v=T8xGTH9vCBs";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg"; 
/></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" 
href="https://www.youtube.com/watch?v=T8xGTH9vCBs";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg"; 
/></a></p></td>
 </tr>
 </tbody>
 </table>
@@ -289,13 +289,13 @@ jupyter notebook
 <div class="section" id="faq">
 <h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this 
headline">¶</a></h2>
 <ul class="simple">
-<li>How to install or update homebrew:</li>
+<li><p>How to install or update homebrew:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>/usr/bin/ruby -e <span 
class="s2">&quot;</span><span class="k">$(</span>curl -fsSL 
https://raw.githubusercontent.com/Homebrew/install/master/install<span 
class="k">)</span><span class="s2">&quot;</span>
 </pre></div>
 </div>
 <ul class="simple">
-<li>There is an error with protobuf.</li>
+<li><p>There is an error with protobuf.</p></li>
 </ul>
 <p>Try overwriting the links:</p>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>brew link --overwrite protobuf

Modified: incubator/singa/site/trunk/docs/install_win.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/docs/install_win.html?rev=1862313&r1=1862312&r2=1862313&view=diff
==============================================================================
--- incubator/singa/site/trunk/docs/install_win.html (original)
+++ incubator/singa/site/trunk/docs/install_win.html Sat Jun 29 14:42:24 2019
@@ -188,71 +188,65 @@
 <p>You may create a folder for building the dependencies.</p>
 <p>The dependencies are:</p>
 <ul>
-<li><dl class="first docutils">
-<dt>Compiler and IDE</dt>
-<dd><ul class="first last simple">
-<li>Visual Studio. The community edition is free and can be used to build 
SINGA. <a class="reference external" 
href="https://www.visualstudio.com/";>https://www.visualstudio.com/</a></li>
+<li><dl class="simple">
+<dt>Compiler and IDE</dt><dd><ul class="simple">
+<li><p>Visual Studio. The community edition is free and can be used to build 
SINGA. <a class="reference external" 
href="https://www.visualstudio.com/";>https://www.visualstudio.com/</a></p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li><dl class="first docutils">
-<dt>CMake</dt>
-<dd><ul class="first last simple">
-<li>Can be downloaded from <a class="reference external" 
href="http://cmake.org/";>http://cmake.org/</a></li>
-<li>Make sure the path to cmake executable is in the system path, or use full 
path when calling cmake.</li>
+<li><dl class="simple">
+<dt>CMake</dt><dd><ul class="simple">
+<li><p>Can be downloaded from <a class="reference external" 
href="http://cmake.org/";>http://cmake.org/</a></p></li>
+<li><p>Make sure the path to cmake executable is in the system path, or use 
full path when calling cmake.</p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li><dl class="first docutils">
-<dt>SWIG</dt>
-<dd><ul class="first last simple">
-<li>Can be downloaded from <a class="reference external" 
href="http://swig.org/";>http://swig.org/</a></li>
-<li>Make sure the path to swig executable is in the system path, or use full 
path when calling swig. Use a recent version such as 3.0.12.</li>
+<li><dl class="simple">
+<dt>SWIG</dt><dd><ul class="simple">
+<li><p>Can be downloaded from <a class="reference external" 
href="http://swig.org/";>http://swig.org/</a></p></li>
+<li><p>Make sure the path to swig executable is in the system path, or use 
full path when calling swig. Use a recent version such as 3.0.12.</p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li><dl class="first docutils">
-<dt>Protocol Buffers</dt>
-<dd><ul class="first last simple">
-<li>Download a suitable version such as 2.6.1: <a class="reference external" 
href="https://github.com/google/protobuf/releases/tag/v2.6.1";>https://github.com/google/protobuf/releases/tag/v2.6.1</a>
 .</li>
-<li>Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .</li>
-<li>Extract both of them in dependencies folder. Add the path to protoc 
executable to the system path, or use full path when calling it.</li>
-<li>Open the Visual Studio solution which can be found in vsproject 
folder.</li>
-<li>Change the build settings to Release and x64.</li>
-<li>build libprotobuf project.</li>
+<li><dl class="simple">
+<dt>Protocol Buffers</dt><dd><ul class="simple">
+<li><p>Download a suitable version such as 2.6.1: <a class="reference 
external" 
href="https://github.com/google/protobuf/releases/tag/v2.6.1";>https://github.com/google/protobuf/releases/tag/v2.6.1</a>
 .</p></li>
+<li><p>Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .</p></li>
+<li><p>Extract both of them in dependencies folder. Add the path to protoc 
executable to the system path, or use full path when calling it.</p></li>
+<li><p>Open the Visual Studio solution which can be found in vsproject 
folder.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>build libprotobuf project.</p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li><dl class="first docutils">
-<dt>Openblas</dt>
-<dd><ul class="first simple">
-<li>Download a suitable source version such as 0.2.20 from <a class="reference 
external" href="http://www.openblas.net";>http://www.openblas.net</a></li>
-<li>Extract the source in the dependencies folder.</li>
-<li>If you don’t have Perl installed, download a perl environment such as 
Strawberry Perl (<a class="reference external" 
href="http://strawberryperl.com/";>http://strawberryperl.com/</a>)</li>
-<li>Build the Visual Studio solution by running this command in the source 
folder:</li>
+<li><dl>
+<dt>Openblas</dt><dd><ul class="simple">
+<li><p>Download a suitable source version such as 0.2.20 from <a 
class="reference external" 
href="http://www.openblas.net";>http://www.openblas.net</a></p></li>
+<li><p>Extract the source in the dependencies folder.</p></li>
+<li><p>If you don’t have Perl installed, download a perl environment such as 
Strawberry Perl (<a class="reference external" 
href="http://strawberryperl.com/";>http://strawberryperl.com/</a>)</p></li>
+<li><p>Build the Visual Studio solution by running this command in the source 
folder:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>cmake -G <span class="s2">&quot;Visual 
Studio 15 2017 Win64&quot;</span>
 </pre></div>
 </div>
-<ul class="last simple">
-<li>Open the Visual Studio solution and change the build settings to Release 
and x64.</li>
-<li>Build libopenblas project</li>
+<ul class="simple">
+<li><p>Open the Visual Studio solution and change the build settings to 
Release and x64.</p></li>
+<li><p>Build libopenblas project</p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li><dl class="first docutils">
-<dt>Google glog</dt>
-<dd><ul class="first last simple">
-<li>Download a suitable version such as 0.3.5 from <a class="reference 
external" 
href="https://github.com/google/glog/releases";>https://github.com/google/glog/releases</a></li>
-<li>Extract the source in the dependencies folder.</li>
-<li>Open the Visual Studio solution.</li>
-<li>Change the build settings to Release and x64.</li>
-<li>Build libglog project</li>
+<li><dl class="simple">
+<dt>Google glog</dt><dd><ul class="simple">
+<li><p>Download a suitable version such as 0.3.5 from <a class="reference 
external" 
href="https://github.com/google/glog/releases";>https://github.com/google/glog/releases</a></p></li>
+<li><p>Extract the source in the dependencies folder.</p></li>
+<li><p>Open the Visual Studio solution.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build libglog project</p></li>
 </ul>
 </dd>
 </dl>
@@ -262,11 +256,10 @@
 <div class="section" id="build-singa-source">
 <h2>2. Build SINGA source<a class="headerlink" href="#build-singa-source" 
title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>Download SINGA source code</li>
-<li><dl class="first docutils">
-<dt>Compile the protobuf files:</dt>
-<dd><ul class="first last">
-<li>Goto src/proto folder</li>
+<li><p>Download SINGA source code</p></li>
+<li><dl class="simple">
+<dt>Compile the protobuf files:</dt><dd><ul>
+<li><p>Goto src/proto folder</p></li>
 </ul>
 </dd>
 </dl>
@@ -277,9 +270,9 @@ protoc.exe *.proto --python_out python_o
 </pre></div>
 </div>
 <ul class="simple">
-<li><dl class="first docutils">
-<dt>Generate swig interfaces for C++ and Python:</dt>
-<dd>Goto src/api</dd>
+<li><dl class="simple">
+<dt>Generate swig interfaces for C++ and Python:</dt><dd><p>Goto src/api</p>
+</dd>
 </dl>
 </li>
 </ul>
@@ -287,9 +280,9 @@ protoc.exe *.proto --python_out python_o
 </pre></div>
 </div>
 <ul class="simple">
-<li><dl class="first docutils">
-<dt>generate Visual Studio solution for SINGA:</dt>
-<dd>Goto SINGA source code root folder</dd>
+<li><dl class="simple">
+<dt>generate Visual Studio solution for SINGA:</dt><dd><p>Goto SINGA source 
code root folder</p>
+</dd>
 </dl>
 </li>
 </ul>
@@ -298,7 +291,7 @@ protoc.exe *.proto --python_out python_o
 </pre></div>
 </div>
 <ul class="simple">
-<li>Call cmake and add the paths in your system similar to the following 
example:</li>
+<li><p>Call cmake and add the paths in your system similar to the following 
example:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>cmake -G <span class="s2">&quot;Visual 
Studio 15 2017 Win64&quot;</span> ^
   -DGLOG_INCLUDE_DIR<span class="o">=</span><span 
class="s2">&quot;D:/WinSinga/dependencies/glog-0.3.5/src/windows&quot;</span> ^
@@ -312,37 +305,36 @@ protoc.exe *.proto --python_out python_o
 </pre></div>
 </div>
 <ul class="simple">
-<li>Open the generated solution in Visual Studio</li>
-<li>Change the build settings to Release and x64</li>
-<li>Add the singa_wrap.cxx file from src/api to the singa_objects project</li>
-<li>In the singa_objects project, open Additional Include Directories.</li>
-<li>Add Python include path</li>
-<li>Add numpy include path</li>
-<li>Add protobuf include path</li>
-<li>In the preprocessor definitions of the singa_objects project, add 
USE_GLOG</li>
-<li>Build singa_objects project</li>
-<li><dl class="first docutils">
-<dt>In singa project:</dt>
-<dd><ul class="first last">
-<li>add singa_wrap.obj to Object Libraries</li>
-<li>change target name to _singa_wrap</li>
-<li>change target extension to .pyd</li>
-<li>change configuration type to Dynamic Library (.dll)</li>
-<li>goto Additional Library Directories and add the path to python, openblas, 
protobuf and glog libraries</li>
-<li>goto Additional Dependencies and add libopenblas.lib, libglog.lib and 
libprotobuf.lib</li>
+<li><p>Open the generated solution in Visual Studio</p></li>
+<li><p>Change the build settings to Release and x64</p></li>
+<li><p>Add the singa_wrap.cxx file from src/api to the singa_objects 
project</p></li>
+<li><p>In the singa_objects project, open Additional Include 
Directories.</p></li>
+<li><p>Add Python include path</p></li>
+<li><p>Add numpy include path</p></li>
+<li><p>Add protobuf include path</p></li>
+<li><p>In the preprocessor definitions of the singa_objects project, add 
USE_GLOG</p></li>
+<li><p>Build singa_objects project</p></li>
+<li><dl class="simple">
+<dt>In singa project:</dt><dd><ul>
+<li><p>add singa_wrap.obj to Object Libraries</p></li>
+<li><p>change target name to _singa_wrap</p></li>
+<li><p>change target extension to .pyd</p></li>
+<li><p>change configuration type to Dynamic Library (.dll)</p></li>
+<li><p>goto Additional Library Directories and add the path to python, 
openblas, protobuf and glog libraries</p></li>
+<li><p>goto Additional Dependencies and add libopenblas.lib, libglog.lib and 
libprotobuf.lib</p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li>build singa project</li>
+<li><p>build singa project</p></li>
 </ul>
 </div>
 <div class="section" id="install-python-module">
 <h2>3. Install Python module<a class="headerlink" 
href="#install-python-module" title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</li>
-<li>Copy the files in src/proto/python_out to build/python/singa/proto</li>
-<li>Optionally create and activate a virtual environment:</li>
+<li><p>Change _singa_wrap.so to _singa_wrap.pyd in 
build/python/setup.py</p></li>
+<li><p>Copy the files in src/proto/python_out to 
build/python/singa/proto</p></li>
+<li><p>Optionally create and activate a virtual environment:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>mkdir SingaEnv
 virtualenv SingaEnv
@@ -350,25 +342,25 @@ SingaEnv<span class="se">\S</span>cripts
 </pre></div>
 </div>
 <ul class="simple">
-<li>goto build/python folder and run:</li>
+<li><p>goto build/python folder and run:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>python setup.py install
 </pre></div>
 </div>
 <ul class="simple">
-<li>Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by adding 
them to the path or by copying them to singa package folder in the python 
site-packages</li>
-<li>Verify that SINGA is installed by running:</li>
+<li><p>Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by 
adding them to the path or by copying them to singa package folder in the 
python site-packages</p></li>
+<li><p>Verify that SINGA is installed by running:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>python -c <span class="s2">&quot;from singa 
import tensor&quot;</span>
 </pre></div>
 </div>
 <p>A video tutorial for the build process can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-center">
 <colgroup>
-<col width="100%" />
+<col style="width: 100%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></p></td>
 </tr>
 </tbody>
 </table>
@@ -376,47 +368,41 @@ SingaEnv<span class="se">\S</span>cripts
 <div class="section" id="run-unit-tests">
 <h2>4. Run Unit Tests<a class="headerlink" href="#run-unit-tests" 
title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>In the test folder, generate the Visual Studio solution:</li>
+<li><p>In the test folder, generate the Visual Studio solution:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>cmake -G <span class="s2">&quot;Visual 
Studio 15 2017 Win64&quot;</span>
 </pre></div>
 </div>
 <ul>
-<li><p class="first">Open the generated solution in Visual Studio.</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64.</p>
-</li>
-<li><p class="first">Build glog project.</p>
-</li>
-<li><p class="first">In test_singa project:</p>
+<li><p>Open the generated solution in Visual Studio.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build glog project.</p></li>
+<li><p>In test_singa project:</p>
 <blockquote>
 <div><ul class="simple">
-<li>Add USE_GLOG to the Preprocessor Definitions.</li>
-<li>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, 
CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add 
also build and build/include folders.</li>
-<li>Goto Additional Library Directories and add the path to openblas, protobuf 
and glog libraries. Add also build/src/singa_objects.dir/Release.</li>
-<li>Goto Additional Dependencies and add libopenblas.lib, libglog.lib and 
libprotobuf.lib. Fix the names of the two libraries: gtest.lib and 
singa_objects.lib.</li>
+<li><p>Add USE_GLOG to the Preprocessor Definitions.</p></li>
+<li><p>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, 
CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add 
also build and build/include folders.</p></li>
+<li><p>Goto Additional Library Directories and add the path to openblas, 
protobuf and glog libraries. Add also 
build/src/singa_objects.dir/Release.</p></li>
+<li><p>Goto Additional Dependencies and add libopenblas.lib, libglog.lib and 
libprotobuf.lib. Fix the names of the two libraries: gtest.lib and 
singa_objects.lib.</p></li>
 </ul>
 </div></blockquote>
 </li>
-<li><p class="first">Build test_singa project.</p>
-</li>
-<li><p class="first">Make libglog.dll and libopenblas.dll available by adding 
them to the path or by copying them to test/release folder</p>
-</li>
-<li><p class="first">The unit tests can be executed</p>
+<li><p>Build test_singa project.</p></li>
+<li><p>Make libglog.dll and libopenblas.dll available by adding them to the 
path or by copying them to test/release folder</p></li>
+<li><p>The unit tests can be executed</p>
 <blockquote>
 <div><ul>
-<li><p class="first">From the command line:</p>
+<li><p>From the command line:</p>
 <blockquote>
 <div><div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>test_singa.exe
 </pre></div>
 </div>
 </div></blockquote>
 </li>
-<li><dl class="first docutils">
-<dt>From Visual Studio:</dt>
-<dd><ul class="first last simple">
-<li>right click on the test_singa project and choose ‘Set as StartUp 
Project’.</li>
-<li>from the Debug menu, choose ‘Start Without Debugging’</li>
+<li><dl class="simple">
+<dt>From Visual Studio:</dt><dd><ul class="simple">
+<li><p>right click on the test_singa project and choose ‘Set as StartUp 
Project’.</p></li>
+<li><p>from the Debug menu, choose ‘Start Without Debugging’</p></li>
 </ul>
 </dd>
 </dl>
@@ -426,12 +412,12 @@ SingaEnv<span class="se">\S</span>cripts
 </li>
 </ul>
 <p>A video tutorial for running the unit tests can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-center">
 <colgroup>
-<col width="100%" />
+<col style="width: 100%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></p></td>
 </tr>
 </tbody>
 </table>
@@ -444,34 +430,30 @@ SingaEnv<span class="se">\S</span>cripts
 <h2>5.1 Install Dependencies<a class="headerlink" href="#id1" title="Permalink 
to this headline">¶</a></h2>
 <p>In addition to the dependencies in section 1 above, we will need the 
following:</p>
 <ul>
-<li><p class="first">CUDA</p>
+<li><p>CUDA</p>
 <blockquote>
 <div><p>Download a suitable version such as 9.1 from <a class="reference 
external" 
href="https://developer.nvidia.com/cuda-downloads";>https://developer.nvidia.com/cuda-downloads</a>
 . Make sure to install the Visual Studio integration module.</p>
 </div></blockquote>
 </li>
-<li><p class="first">cuDNN</p>
+<li><p>cuDNN</p>
 <blockquote>
 <div><p>Download a suitable version such as 7.1 from <a class="reference 
external" 
href="https://developer.nvidia.com/cudnn";>https://developer.nvidia.com/cudnn</a></p>
 </div></blockquote>
 </li>
-<li><p class="first">cnmem:</p>
+<li><p>cnmem:</p>
 <blockquote>
 <div><ul>
-<li><p class="first">Download the latest version from <a class="reference 
external" 
href="https://github.com/NVIDIA/cnmem";>https://github.com/NVIDIA/cnmem</a></p>
-</li>
-<li><p class="first">Build the Visual Studio solution:</p>
+<li><p>Download the latest version from <a class="reference external" 
href="https://github.com/NVIDIA/cnmem";>https://github.com/NVIDIA/cnmem</a></p></li>
+<li><p>Build the Visual Studio solution:</p>
 <blockquote>
 <div><div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>cmake -G <span class="s2">&quot;Visual 
Studio 15 2017 Win64&quot;</span>
 </pre></div>
 </div>
 </div></blockquote>
 </li>
-<li><p class="first">Open the generated solution in Visual Studio.</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64.</p>
-</li>
-<li><p class="first">Build the cnmem project.</p>
-</li>
+<li><p>Open the generated solution in Visual Studio.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build the cnmem project.</p></li>
 </ul>
 </div></blockquote>
 </li>
@@ -480,7 +462,7 @@ SingaEnv<span class="se">\S</span>cripts
 <div class="section" id="id2">
 <h2>5.2 Build SINGA source<a class="headerlink" href="#id2" title="Permalink 
to this headline">¶</a></h2>
 <ul>
-<li><p class="first">Call cmake and add the paths in your system similar to 
the following example:</p>
+<li><p>Call cmake and add the paths in your system similar to the following 
example:</p>
 <blockquote>
 <div><div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>cmake -G <span class="s2">&quot;Visual 
Studio 15 2017 Win64&quot;</span> ^
           -DGLOG_INCLUDE_DIR<span class="o">=</span><span 
class="s2">&quot;D:/WinSinga/dependencies/glog-0.3.5/src/windows&quot;</span> ^
@@ -501,83 +483,75 @@ SingaEnv<span class="se">\S</span>cripts
 </div>
 </div></blockquote>
 </li>
-<li><dl class="first docutils">
-<dt>Generate swig interfaces for C++ and Python:</dt>
-<dd><p class="first">Goto src/api</p>
-<div class="last highlight-bash notranslate"><div 
class="highlight"><pre><span></span>swig -python -c++ singa.i
+<li><dl>
+<dt>Generate swig interfaces for C++ and Python:</dt><dd><p>Goto src/api</p>
+<div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>swig -python -c++ singa.i
 </pre></div>
 </div>
 </dd>
 </dl>
 </li>
-<li><p class="first">Open the generated solution in Visual Studio</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64</p>
-</li>
+<li><p>Open the generated solution in Visual Studio</p></li>
+<li><p>Change the build settings to Release and x64</p></li>
 </ul>
 </div>
 <div class="section" id="building-singa-objects">
 <h2>5.2.1 Building singa_objects<a class="headerlink" 
href="#building-singa-objects" title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>Add the singa_wrap.cxx file from src/api to the singa_objects project</li>
-<li>In the singa_objects project, open Additional Include Directories.</li>
-<li>Add Python include path</li>
-<li>Add numpy include path</li>
-<li>Add protobuf include path</li>
-<li>Add include path for CUDA, cuDNN and cnmem</li>
-<li>In the preprocessor definitions of the singa_objects project, add 
USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.</li>
-<li>Build singa_objects project</li>
+<li><p>Add the singa_wrap.cxx file from src/api to the singa_objects 
project</p></li>
+<li><p>In the singa_objects project, open Additional Include 
Directories.</p></li>
+<li><p>Add Python include path</p></li>
+<li><p>Add numpy include path</p></li>
+<li><p>Add protobuf include path</p></li>
+<li><p>Add include path for CUDA, cuDNN and cnmem</p></li>
+<li><p>In the preprocessor definitions of the singa_objects project, add 
USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.</p></li>
+<li><p>Build singa_objects project</p></li>
 </ul>
 </div>
 <div class="section" id="building-singa-kernel">
 <h2>5.2.2 Building singa-kernel<a class="headerlink" 
href="#building-singa-kernel" title="Permalink to this headline">¶</a></h2>
 <ul>
-<li><p class="first">Create a new Visual Studio project of type “CUDA 9.1 
Runtime”. Give it a name such as singa-kernel.</p>
-</li>
-<li><p class="first">The project comes with an initial file called kernel.cu. 
Remove this file from the project.</p>
-</li>
-<li><p class="first">Add this file: src/core/tensor/math_kernel.cu</p>
-</li>
-<li><p class="first">In the project settings:</p>
+<li><p>Create a new Visual Studio project of type “CUDA 9.1 Runtime”. Give 
it a name such as singa-kernel.</p></li>
+<li><p>The project comes with an initial file called kernel.cu. Remove this 
file from the project.</p></li>
+<li><p>Add this file: src/core/tensor/math_kernel.cu</p></li>
+<li><p>In the project settings:</p>
 <blockquote>
 <div><ul class="simple">
-<li>Set Platform Toolset to “Visual Studio 2015 (v140)”</li>
-<li>Set Configuration Type to ” Static Library (.lib)”</li>
-<li>In the Include Directories, add build/include.</li>
+<li><p>Set Platform Toolset to “Visual Studio 2015 (v140)”</p></li>
+<li><p>Set Configuration Type to ” Static Library (.lib)”</p></li>
+<li><p>In the Include Directories, add build/include.</p></li>
 </ul>
 </div></blockquote>
 </li>
-<li><p class="first">Build singa-kernel project</p>
-</li>
+<li><p>Build singa-kernel project</p></li>
 </ul>
 </div>
 <div class="section" id="building-singa">
 <h2>5.2.3 Building singa<a class="headerlink" href="#building-singa" 
title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li><dl class="first docutils">
-<dt>In singa project:</dt>
-<dd><ul class="first last">
-<li>add singa_wrap.obj to Object Libraries</li>
-<li>change target name to _singa_wrap</li>
-<li>change target extension to .pyd</li>
-<li>change configuration type to Dynamic Library (.dll)</li>
-<li>goto Additional Library Directories and add the path to python, openblas, 
protobuf and glog libraries</li>
-<li>Add also the library path to singa-kernel, cnmem, cuda and cudnn.</li>
-<li>goto Additional Dependencies and add libopenblas.lib, libglog.lib and 
libprotobuf.lib.</li>
-<li>Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , cublas.lib, 
curand.lib and cudart.lib.</li>
+<li><dl class="simple">
+<dt>In singa project:</dt><dd><ul>
+<li><p>add singa_wrap.obj to Object Libraries</p></li>
+<li><p>change target name to _singa_wrap</p></li>
+<li><p>change target extension to .pyd</p></li>
+<li><p>change configuration type to Dynamic Library (.dll)</p></li>
+<li><p>goto Additional Library Directories and add the path to python, 
openblas, protobuf and glog libraries</p></li>
+<li><p>Add also the library path to singa-kernel, cnmem, cuda and 
cudnn.</p></li>
+<li><p>goto Additional Dependencies and add libopenblas.lib, libglog.lib and 
libprotobuf.lib.</p></li>
+<li><p>Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , 
cublas.lib, curand.lib and cudart.lib.</p></li>
 </ul>
 </dd>
 </dl>
 </li>
-<li>build singa project</li>
+<li><p>build singa project</p></li>
 </ul>
 </div>
 <div class="section" id="id3">
 <h2>5.3. Install Python module<a class="headerlink" href="#id3" 
title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</li>
-<li>Copy the files in src/proto/python_out to build/python/singa/proto</li>
-<li>Optionally create and activate a virtual environment:</li>
+<li><p>Change _singa_wrap.so to _singa_wrap.pyd in 
build/python/setup.py</p></li>
+<li><p>Copy the files in src/proto/python_out to 
build/python/singa/proto</p></li>
+<li><p>Optionally create and activate a virtual environment:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>mkdir SingaEnv
 virtualenv SingaEnv
@@ -585,25 +559,25 @@ SingaEnv<span class="se">\S</span>cripts
 </pre></div>
 </div>
 <ul class="simple">
-<li>goto build/python folder and run:</li>
+<li><p>goto build/python folder and run:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>python setup.py install
 </pre></div>
 </div>
 <ul class="simple">
-<li>Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA 
Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by 
adding them to the path or by copying them to singa package folder in the 
python site-packages</li>
-<li>Verify that SINGA is installed by running:</li>
+<li><p>Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA 
Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by 
adding them to the path or by copying them to singa package folder in the 
python site-packages</p></li>
+<li><p>Verify that SINGA is installed by running:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>python -c <span class="s2">&quot;from singa 
import device; dev = device.create_cuda_gpu()&quot;</span>
 </pre></div>
 </div>
 <p>A video tutorial for this part can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-center">
 <colgroup>
-<col width="100%" />
+<col style="width: 100%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></p></td>
 </tr>
 </tbody>
 </table>
@@ -611,47 +585,41 @@ SingaEnv<span class="se">\S</span>cripts
 <div class="section" id="id4">
 <h2>5.4. Run Unit Tests<a class="headerlink" href="#id4" title="Permalink to 
this headline">¶</a></h2>
 <ul class="simple">
-<li>In the test folder, generate the Visual Studio solution:</li>
+<li><p>In the test folder, generate the Visual Studio solution:</p></li>
 </ul>
 <div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>cmake -G <span class="s2">&quot;Visual 
Studio 15 2017 Win64&quot;</span>
 </pre></div>
 </div>
 <ul>
-<li><p class="first">Open the generated solution in Visual Studio, or add the 
project to the singa solution that was created in step 5.2</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64.</p>
-</li>
-<li><p class="first">Build glog project.</p>
-</li>
-<li><p class="first">In test_singa project:</p>
+<li><p>Open the generated solution in Visual Studio, or add the project to the 
singa solution that was created in step 5.2</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build glog project.</p></li>
+<li><p>In test_singa project:</p>
 <blockquote>
 <div><ul class="simple">
-<li>Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor Definitions.</li>
-<li>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, 
CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. 
Add also build, build/include, CUDA and cuDNN include folders.</li>
-<li>Goto Additional Library Directories and add the path to openblas, protobuf 
and glog libraries. Add also build/src/singa_objects.dir/Release, singa-kernel, 
cnmem, CUDA and cuDNN library paths.</li>
-<li>Goto Additional Dependencies and add libopenblas.lib; libglog.lib; 
libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; 
cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and 
singa_objects.lib.</li>
+<li><p>Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor 
Definitions.</p></li>
+<li><p>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, 
CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. 
Add also build, build/include, CUDA and cuDNN include folders.</p></li>
+<li><p>Goto Additional Library Directories and add the path to openblas, 
protobuf and glog libraries. Add also build/src/singa_objects.dir/Release, 
singa-kernel, cnmem, CUDA and cuDNN library paths.</p></li>
+<li><p>Goto Additional Dependencies and add libopenblas.lib; libglog.lib; 
libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; 
cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and 
singa_objects.lib.</p></li>
 </ul>
 </div></blockquote>
 </li>
-<li><p class="first">Build test_singa project.</p>
-</li>
-<li><p class="first">Make libglog.dll, libopenblas.dll, cnmem.dll, 
cudart64_91.dll and cudnn64_7.dll available by adding them to the path or by 
copying them to test/release folder</p>
-</li>
-<li><p class="first">The unit tests can be executed</p>
+<li><p>Build test_singa project.</p></li>
+<li><p>Make libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll and 
cudnn64_7.dll available by adding them to the path or by copying them to 
test/release folder</p></li>
+<li><p>The unit tests can be executed</p>
 <blockquote>
 <div><ul>
-<li><p class="first">From the command line:</p>
+<li><p>From the command line:</p>
 <blockquote>
 <div><div class="highlight-bash notranslate"><div 
class="highlight"><pre><span></span>test_singa.exe
 </pre></div>
 </div>
 </div></blockquote>
 </li>
-<li><dl class="first docutils">
-<dt>From Visual Studio:</dt>
-<dd><ul class="first last simple">
-<li>right click on the test_singa project and choose ‘Set as StartUp 
Project’.</li>
-<li>from the Debug menu, choose ‘Start Without Debugging’</li>
+<li><dl class="simple">
+<dt>From Visual Studio:</dt><dd><ul class="simple">
+<li><p>right click on the test_singa project and choose ‘Set as StartUp 
Project’.</p></li>
+<li><p>from the Debug menu, choose ‘Start Without Debugging’</p></li>
 </ul>
 </dd>
 </dl>
@@ -661,12 +629,12 @@ SingaEnv<span class="se">\S</span>cripts
 </li>
 </ul>
 <p>A video tutorial for running the unit tests can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-center">
 <colgroup>
-<col width="100%" />
+<col style="width: 100%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" 
href="https://www.youtube.com/watch?v=YOjwtrvTPn4";><img alt="video" 
class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg"; 
/></a></p></td>
 </tr>
 </tbody>
 </table>


Reply via email to