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 2020/04/19 16:06:55 UTC

[singa-site] branch master updated: bump the version to 3.0.0

This is an automated email from the ASF dual-hosted git repository.

wangwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/singa-site.git


The following commit(s) were added to refs/heads/master by this push:
     new daa951c  bump the version to 3.0.0
daa951c is described below

commit daa951cb1bf62178bd74db4667e08183399191d1
Author: wang wei <wa...@gmail.com>
AuthorDate: Mon Apr 20 00:05:39 2020 +0800

    bump the version to 3.0.0
---
 content/404.html                                   |   2 +-
 content/404/index.html                             |   2 +-
 content/blog/2017/02/12/v1-1-0.html                |   7 +-
 content/blog/2017/02/12/v1-1-0/index.html          |   7 +-
 content/blog/2018/06/09/v1-2-0.html                |   7 +-
 content/blog/2018/06/09/v1-2-0/index.html          |   7 +-
 content/blog/2018/07/16/DIBRIS.html                |   7 +-
 content/blog/2018/07/16/DIBRIS/index.html          |   7 +-
 content/blog/2018/12/14/DISI.html                  |   7 +-
 content/blog/2018/12/14/DISI/index.html            |   7 +-
 content/blog/2019/04/20/v2-0-0.html                |   7 +-
 content/blog/2019/04/20/v2-0-0/index.html          |   7 +-
 content/blog/2019/05/05/eu-fossa.html              |   7 +-
 content/blog/2019/05/05/eu-fossa/index.html        |   7 +-
 content/blog/2019/06/27/google-summer-of-code.html |   7 +-
 .../2019/06/27/google-summer-of-code/index.html    |   7 +-
 content/blog/2019/08/16/imda.html                  |   7 +-
 content/blog/2019/08/16/imda/index.html            |   7 +-
 content/blog/2019/10/03/foodlg-with-singa.html     |   7 +-
 .../blog/2019/10/03/foodlg-with-singa/index.html   |   7 +-
 content/blog/2019/10/16/graduate-tlp.html          |   7 +-
 content/blog/2019/10/16/graduate-tlp/index.html    |   7 +-
 content/blog/2020/04/19/v3-0-0.html                |  85 ++++
 content/blog/2020/04/19/v3-0-0/index.html          |  85 ++++
 content/blog/atom.xml                              |  36 +-
 content/blog/feed.xml                              |  31 +-
 content/blog/index.html                            |  49 +-
 content/blog/page2/index.html                      |  72 +++
 content/docs/autograd.html                         |   4 +-
 content/docs/autograd/index.html                   |   4 +-
 content/docs/benchmark-train.html                  |   4 +-
 content/docs/benchmark-train/index.html            |   4 +-
 content/docs/build.html                            |   4 +-
 content/docs/build/index.html                      |   4 +-
 content/docs/contribute-code.html                  |  16 +-
 content/docs/contribute-code/index.html            |  16 +-
 content/docs/contribute-docs.html                  |   4 +-
 content/docs/contribute-docs/index.html            |   4 +-
 content/docs/device.html                           |   4 +-
 content/docs/device/index.html                     |   4 +-
 content/docs/dist-train.html                       |   6 +-
 content/docs/dist-train/index.html                 |   6 +-
 content/docs/download-singa.html                   |  46 +-
 content/docs/download-singa/index.html             |  46 +-
 content/docs/examples.html                         |   4 +-
 content/docs/examples/index.html                   |   4 +-
 content/docs/git-workflow.html                     |   4 +-
 content/docs/git-workflow/index.html               |   4 +-
 content/docs/graph.html                            | 532 +++++++++------------
 content/docs/graph/index.html                      | 532 +++++++++------------
 content/docs/history-singa.html                    |   4 +-
 content/docs/history-singa/index.html              |   4 +-
 content/docs/how-to-release.html                   |  60 ++-
 content/docs/how-to-release/index.html             |  60 ++-
 content/docs/initializer.html                      |   4 +-
 content/docs/initializer/index.html                |   4 +-
 content/docs/install-win.html                      |   4 +-
 content/docs/install-win/index.html                |   4 +-
 content/docs/installation.html                     |   4 +-
 content/docs/installation/index.html               |   4 +-
 content/docs/issue-tracking.html                   |   4 +-
 content/docs/issue-tracking/index.html             |   4 +-
 content/docs/layer.html                            |   4 +-
 content/docs/layer/index.html                      |   4 +-
 content/docs/loss.html                             |   4 +-
 content/docs/loss/index.html                       |   4 +-
 content/docs/mail-lists.html                       |   4 +-
 content/docs/mail-lists/index.html                 |   4 +-
 content/docs/metric.html                           |   4 +-
 content/docs/metric/index.html                     |   4 +-
 content/docs/model-zoo-char-rnn.html               |   4 +-
 content/docs/model-zoo-char-rnn/index.html         |   4 +-
 content/docs/model-zoo-cnn-cifar10.html            |   4 +-
 content/docs/model-zoo-cnn-cifar10/index.html      |   4 +-
 content/docs/model-zoo-imagenet-alexnet.html       |   4 +-
 content/docs/model-zoo-imagenet-alexnet/index.html |   4 +-
 content/docs/model-zoo-imagenet-densenet.html      |   4 +-
 .../docs/model-zoo-imagenet-densenet/index.html    |   4 +-
 content/docs/model-zoo-imagenet-googlenet.html     |   4 +-
 .../docs/model-zoo-imagenet-googlenet/index.html   |   4 +-
 content/docs/model-zoo-imagenet-inception.html     |   4 +-
 .../docs/model-zoo-imagenet-inception/index.html   |   4 +-
 content/docs/model-zoo-imagenet-resnet.html        |   4 +-
 content/docs/model-zoo-imagenet-resnet/index.html  |   4 +-
 content/docs/model-zoo-imagenet-vgg.html           |   4 +-
 content/docs/model-zoo-imagenet-vgg/index.html     |   4 +-
 content/docs/model-zoo-rbm-mnist.html              |   4 +-
 content/docs/model-zoo-rbm-mnist/index.html        |   4 +-
 content/docs/next/download-singa.html              |  23 +-
 content/docs/next/download-singa/index.html        |  23 +-
 .../releases/RELEASE_NOTES_3.0.0.html}             |   6 +-
 .../releases/RELEASE_NOTES_3.0.0}/index.html       |   6 +-
 content/docs/onnx.html                             | 152 ++++--
 content/docs/onnx/index.html                       | 152 ++++--
 content/docs/optimizer.html                        |   4 +-
 content/docs/optimizer/index.html                  |   4 +-
 content/docs/releases/RELEASE_NOTES_0.1.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_0.1.0/index.html   |   4 +-
 content/docs/releases/RELEASE_NOTES_0.2.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_0.2.0/index.html   |   4 +-
 content/docs/releases/RELEASE_NOTES_0.3.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_0.3.0/index.html   |   4 +-
 content/docs/releases/RELEASE_NOTES_1.0.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_1.0.0/index.html   |   4 +-
 content/docs/releases/RELEASE_NOTES_1.1.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_1.1.0/index.html   |   4 +-
 content/docs/releases/RELEASE_NOTES_1.2.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_1.2.0/index.html   |   4 +-
 content/docs/releases/RELEASE_NOTES_2.0.0.html     |   4 +-
 .../docs/releases/RELEASE_NOTES_2.0.0/index.html   |   4 +-
 ...TES_3.0.0.rc1.html => RELEASE_NOTES_3.0.0.html} |   6 +-
 content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html |   4 +-
 .../releases/RELEASE_NOTES_3.0.0.rc1/index.html    |   4 +-
 .../index.html                                     |   6 +-
 content/docs/security.html                         |   4 +-
 content/docs/security/index.html                   |   4 +-
 content/docs/software-stack.html                   |   4 +-
 content/docs/software-stack/index.html             |   4 +-
 content/docs/source-repository.html                |   4 +-
 content/docs/source-repository/index.html          |   4 +-
 content/docs/team-list.html                        |   4 +-
 content/docs/team-list/index.html                  |   4 +-
 content/docs/tensor.html                           |   4 +-
 content/docs/tensor/index.html                     |   4 +-
 content/en/404.html                                |   2 +-
 content/en/404/index.html                          |   2 +-
 content/en/help.html                               |   2 +-
 content/en/help/index.html                         |   2 +-
 content/en/index.html                              |   2 +-
 content/en/users.html                              |   2 +-
 content/en/users/index.html                        |   2 +-
 content/en/versions.html                           |   2 +-
 content/en/versions/index.html                     |   2 +-
 content/help.html                                  |   2 +-
 content/help/index.html                            |   2 +-
 content/index.html                                 |   2 +-
 content/sitemap.xml                                |   2 +-
 content/users.html                                 |   2 +-
 content/users/index.html                           |   2 +-
 content/versions.html                              |   2 +-
 content/versions/index.html                        |   2 +-
 141 files changed, 1468 insertions(+), 1074 deletions(-)

diff --git a/content/404.html b/content/404.html
index d5a8d77..f47d7d1 100644
--- a/content/404.html
+++ b/content/404.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/404/index.html b/content/404/index.html
index d5a8d77..f47d7d1 100644
--- a/content/404/index.html
+++ b/content/404/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/blog/2017/02/12/v1-1-0.html b/content/blog/2017/02/12/v1-1-0.html
index 16cc439..0af9c58 100644
--- a/content/blog/2017/02/12/v1-1-0.html
+++ b/content/blog/2017/02/12/v1-1-0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.1.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Version 1.1.0** is now available, 12 Feb, 2017."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Version 1.1.0 · Apache SINGA"/><meta property="og:type" content="websit [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.1.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright o [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><p [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><! [...]
+<p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017.
 <a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Version 1.1.0" data-url="https://feynmandna.github.io/blog/2017/02/12/v1-1-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2017/02/12/v1-1-0/index.html b/content/blog/2017/02/12/v1-1-0/index.html
index 16cc439..0af9c58 100644
--- a/content/blog/2017/02/12/v1-1-0/index.html
+++ b/content/blog/2017/02/12/v1-1-0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.1.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Version 1.1.0** is now available, 12 Feb, 2017."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Version 1.1.0 · Apache SINGA"/><meta property="og:type" content="websit [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.1.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright o [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><p [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><! [...]
+<p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017.
 <a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Version 1.1.0" data-url="https://feynmandna.github.io/blog/2017/02/12/v1-1-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2018/06/09/v1-2-0.html b/content/blog/2018/06/09/v1-2-0.html
index 56f2588..5050f66 100644
--- a/content/blog/2018/06/09/v1-2-0.html
+++ b/content/blog/2018/06/09/v1-2-0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.2.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Version 1.2.0** is now available, 6 June, 2018."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Version 1.2.0 · Apache SINGA"/><meta property="og:type" content="websit [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.2.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright o [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><p><str [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><!--- L [...]
+<p><strong>Version 1.2.0</strong> is now available, 6 June, 2018.
 <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Version 1.2.0" data-url="https://feynmandna.github.io/blog/2018/06/09/v1-2-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2018/06/09/v1-2-0/index.html b/content/blog/2018/06/09/v1-2-0/index.html
index 56f2588..5050f66 100644
--- a/content/blog/2018/06/09/v1-2-0/index.html
+++ b/content/blog/2018/06/09/v1-2-0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.2.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Version 1.2.0** is now available, 6 June, 2018."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Version 1.2.0 · Apache SINGA"/><meta property="og:type" content="websit [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 1.2.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright o [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><p><str [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><!--- L [...]
+<p><strong>Version 1.2.0</strong> is now available, 6 June, 2018.
 <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Version 1.2.0" data-url="https://feynmandna.github.io/blog/2018/06/09/v1-2-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2018/07/16/DIBRIS.html b/content/blog/2018/07/16/DIBRIS.html
index 86f1fa2..85cc4f5 100644
--- a/content/blog/2018/07/16/DIBRIS.html
+++ b/content/blog/2018/07/16/DIBRIS.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DIBRIS Genoa Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA was presented at"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="DIBRIS Genoa Presentation · Apache SINGA"/><meta property="og:type" content="website"/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DIBRIS Genoa Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+<p>SINGA was presented at
 <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July
 2018.9.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="DIBRIS Genoa Presentation" data-url="https://feynmandna.github.io/blog/2018/07/16/DIBRIS" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><secti [...]
diff --git a/content/blog/2018/07/16/DIBRIS/index.html b/content/blog/2018/07/16/DIBRIS/index.html
index 86f1fa2..85cc4f5 100644
--- a/content/blog/2018/07/16/DIBRIS/index.html
+++ b/content/blog/2018/07/16/DIBRIS/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DIBRIS Genoa Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA was presented at"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="DIBRIS Genoa Presentation · Apache SINGA"/><meta property="og:type" content="website"/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DIBRIS Genoa Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+<p>SINGA was presented at
 <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July
 2018.9.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="DIBRIS Genoa Presentation" data-url="https://feynmandna.github.io/blog/2018/07/16/DIBRIS" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><secti [...]
diff --git a/content/blog/2018/12/14/DISI.html b/content/blog/2018/12/14/DISI.html
index 1b547d5..47a5ab5 100644
--- a/content/blog/2018/12/14/DISI.html
+++ b/content/blog/2018/12/14/DISI.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DISI Trento Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA was presented at"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="DISI Trento Presentation · Apache SINGA"/><meta property="og:type" content="website"/>< [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DISI Trento Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div [...]
+<p>SINGA was presented at
 <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14
 December 2018.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="DISI Trento Presentation" data-url="https://feynmandna.github.io/blog/2018/12/14/DISI" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section  [...]
diff --git a/content/blog/2018/12/14/DISI/index.html b/content/blog/2018/12/14/DISI/index.html
index 1b547d5..47a5ab5 100644
--- a/content/blog/2018/12/14/DISI/index.html
+++ b/content/blog/2018/12/14/DISI/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DISI Trento Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA was presented at"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="DISI Trento Presentation · Apache SINGA"/><meta property="og:type" content="website"/>< [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DISI Trento Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div [...]
+<p>SINGA was presented at
 <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14
 December 2018.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="DISI Trento Presentation" data-url="https://feynmandna.github.io/blog/2018/12/14/DISI" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section  [...]
diff --git a/content/blog/2019/04/20/v2-0-0.html b/content/blog/2019/04/20/v2-0-0.html
index 080fc03..8af5292 100644
--- a/content/blog/2019/04/20/v2-0-0.html
+++ b/content/blog/2019/04/20/v2-0-0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 2.0.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Version 2.0.0** is now available, 20 April, 2019."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Version 2.0.0 · Apache SINGA"/><meta property="og:type" content="webs [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 2.0.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright o [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><p><s [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><!--- [...]
+<p><strong>Version 2.0.0</strong> is now available, 20 April, 2019.
 <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Version 2.0.0" data-url="https://feynmandna.github.io/blog/2019/04/20/v2-0-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2019/04/20/v2-0-0/index.html b/content/blog/2019/04/20/v2-0-0/index.html
index 080fc03..8af5292 100644
--- a/content/blog/2019/04/20/v2-0-0/index.html
+++ b/content/blog/2019/04/20/v2-0-0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 2.0.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Version 2.0.0** is now available, 20 April, 2019."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Version 2.0.0 · Apache SINGA"/><meta property="og:type" content="webs [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Version 2.0.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright o [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><p><s [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><span><!--- [...]
+<p><strong>Version 2.0.0</strong> is now available, 20 April, 2019.
 <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Version 2.0.0" data-url="https://feynmandna.github.io/blog/2019/04/20/v2-0-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2019/05/05/eu-fossa.html b/content/blog/2019/05/05/eu-fossa.html
index 1c177aa..9158b7f 100644
--- a/content/blog/2019/05/05/eu-fossa.html
+++ b/content/blog/2019/05/05/eu-fossa.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>EU FOSSA Apache Hackathon · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA participated at"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="EU FOSSA Apache Hackathon · Apache SINGA"/><meta property="og:type" content="website"/> [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>EU FOSSA Apache Hackathon · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+<p>SINGA participated at
 <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in
 Brussels on 4 and 5 May 2019.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="EU FOSSA Apache Hackathon" data-url="https://feynmandna.github.io/blog/2019/05/05/eu-fossa" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><sec [...]
diff --git a/content/blog/2019/05/05/eu-fossa/index.html b/content/blog/2019/05/05/eu-fossa/index.html
index 1c177aa..9158b7f 100644
--- a/content/blog/2019/05/05/eu-fossa/index.html
+++ b/content/blog/2019/05/05/eu-fossa/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>EU FOSSA Apache Hackathon · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA participated at"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="EU FOSSA Apache Hackathon · Apache SINGA"/><meta property="og:type" content="website"/> [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>EU FOSSA Apache Hackathon · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div> [...]
+<p>SINGA participated at
 <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in
 Brussels on 4 and 5 May 2019.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="EU FOSSA Apache Hackathon" data-url="https://feynmandna.github.io/blog/2019/05/05/eu-fossa" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><sec [...]
diff --git a/content/blog/2019/06/27/google-summer-of-code.html b/content/blog/2019/06/27/google-summer-of-code.html
index 9d3b873..9c8a844 100644
--- a/content/blog/2019/06/27/google-summer-of-code.html
+++ b/content/blog/2019/06/27/google-summer-of-code.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Google Summer of Code 2019 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA participated in mentoring the Google Summer of Code 2019 project"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Google Summer of Code 2019 · Apache S [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Google Summer of Code 2019 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardin [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></di [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></di [...]
+<p>SINGA participated in mentoring the Google Summer of Code 2019 project
 <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Google Summer of Code 2019" data-url="https://feynmandna.github.io/blog/2019/06/27/google-summer-of-code" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2019/06/27/google-summer-of-code/index.html b/content/blog/2019/06/27/google-summer-of-code/index.html
index 9d3b873..9c8a844 100644
--- a/content/blog/2019/06/27/google-summer-of-code/index.html
+++ b/content/blog/2019/06/27/google-summer-of-code/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Google Summer of Code 2019 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="SINGA participated in mentoring the Google Summer of Code 2019 project"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Google Summer of Code 2019 · Apache S [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Google Summer of Code 2019 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardin [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></di [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></di [...]
+<p>SINGA participated in mentoring the Google Summer of Code 2019 project
 <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p>
 </span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Google Summer of Code 2019" data-url="https://feynmandna.github.io/blog/2019/06/27/google-summer-of-code" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id [...]
    The Apache Software Foundation. All rights reserved.
diff --git a/content/blog/2019/08/16/imda.html b/content/blog/2019/08/16/imda.html
index 6b6d909..b840487 100644
--- a/content/blog/2019/08/16/imda.html
+++ b/content/blog/2019/08/16/imda.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Singapore IMDA Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="A tutorial on SINGA was given at Singapore Infocomm Media Development Authority"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Singapore IMDA Presentation [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Singapore IMDA Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><di [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><di [...]
+<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
 (IMDA) on 16 August, 2019.</p>
 <p>Snapshots of the tutorial:</p>
 <p><img src="/blog/assets/imda2019_1.png" alt="snapshot1"> <img src="/blog/assets/imda2019_2.png" alt="snapshot2"></p>
diff --git a/content/blog/2019/08/16/imda/index.html b/content/blog/2019/08/16/imda/index.html
index 6b6d909..b840487 100644
--- a/content/blog/2019/08/16/imda/index.html
+++ b/content/blog/2019/08/16/imda/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Singapore IMDA Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="A tutorial on SINGA was given at Singapore Infocomm Media Development Authority"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Singapore IMDA Presentation [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Singapore IMDA Presentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><di [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><di [...]
+<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
 (IMDA) on 16 August, 2019.</p>
 <p>Snapshots of the tutorial:</p>
 <p><img src="/blog/assets/imda2019_1.png" alt="snapshot1"> <img src="/blog/assets/imda2019_2.png" alt="snapshot2"></p>
diff --git a/content/blog/2019/10/03/foodlg-with-singa.html b/content/blog/2019/10/03/foodlg-with-singa.html
index 7edf716..72cd50e 100644
--- a/content/blog/2019/10/03/foodlg-with-singa.html
+++ b/content/blog/2019/10/03/foodlg-with-singa.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Foodlg Powered by SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Food(lg), the mobile app to"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Foodlg Powered by SINGA · Apache SINGA"/><meta property="og:type" content="website" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Foodlg Powered by SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></h [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></h [...]
+<p>Food(lg), the mobile app to
 <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by
 SINGA and this app can now be downloaded on the
 <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or
diff --git a/content/blog/2019/10/03/foodlg-with-singa/index.html b/content/blog/2019/10/03/foodlg-with-singa/index.html
index 7edf716..72cd50e 100644
--- a/content/blog/2019/10/03/foodlg-with-singa/index.html
+++ b/content/blog/2019/10/03/foodlg-with-singa/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Foodlg Powered by SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Food(lg), the mobile app to"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Foodlg Powered by SINGA · Apache SINGA"/><meta property="og:type" content="website" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Foodlg Powered by SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></h [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></h [...]
+<p>Food(lg), the mobile app to
 <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by
 SINGA and this app can now be downloaded on the
 <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or
diff --git a/content/blog/2019/10/16/graduate-tlp.html b/content/blog/2019/10/16/graduate-tlp.html
index 7d21018..b3cf62c 100644
--- a/content/blog/2019/10/16/graduate-tlp.html
+++ b/content/blog/2019/10/16/graduate-tlp.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache SINGA as a Top-Level Project · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Apache Software Foundation (ASF) recently"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache SINGA as a Top-Level Project · Apache SINGA"/> [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache SINGA as a Top-Level Project · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p>< [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p>< [...]
+<p>The Apache Software Foundation (ASF) recently
 <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">announced</a>
 Apache SINGA as a Top-Level Project.</p>
 <blockquote>
diff --git a/content/blog/2019/10/16/graduate-tlp/index.html b/content/blog/2019/10/16/graduate-tlp/index.html
index 7d21018..b3cf62c 100644
--- a/content/blog/2019/10/16/graduate-tlp/index.html
+++ b/content/blog/2019/10/16/graduate-tlp/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache SINGA as a Top-Level Project · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Apache Software Foundation (ASF) recently"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache SINGA as a Top-Level Project · Apache SINGA"/> [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache SINGA as a Top-Level Project · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p>< [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p>< [...]
+<p>The Apache Software Foundation (ASF) recently
 <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">announced</a>
 Apache SINGA as a Top-Level Project.</p>
 <blockquote>
diff --git a/content/blog/2020/04/19/v3-0-0.html b/content/blog/2020/04/19/v3-0-0.html
new file mode 100644
index 0000000..5218e6b
--- /dev/null
+++ b/content/blog/2020/04/19/v3-0-0.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Release Version 3.0.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
+        document.addEventListener('DOMContentLoaded', function() {
+          addBackToTop(
+            {"zIndex":100}
+          )
+        });
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2020/04/19/v3-0-0">Release Version 3.0.0</a></h1><p class="post-meta">April 19, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><sp [...]
+<p>Apache SINGA V3.0.0 is released on April 18, 2020. This is the first official
+release since SINGA became the first Top-Level Apache project. There are three
+major features added in this release.</p>
+<p>First, a new Python class <a href="/docs/graph">Module</a> is introduced. New models
+(neural networks) can be implemented by inheriting it. The benefit is that SINGA
+will create a computational graph at the backend for speed and memory
+optimization.</p>
+<p>Second, the <a href="/docs/onnx">soonx</a> module is enhanced to support more ONNX
+operators. Multiple ONNX models have been tested for training and inference
+using SINGA.</p>
+<p>Last, communication optimization for <a href="/docs/dist-train">distributed training</a>,
+including gradient sparsification and compression. NCCL is integrated as the
+communication library.</p>
+<p>Please check the <a href="/docs/software-stack">overview page</a> and detailed
+<a href="/docs/installation">guides</a>.</p>
+</span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Release Version 3.0.0" data-url="https://feynmandna.github.io/blog/2020/04/19/v3-0-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section c [...]
+   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.</section></div></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>
\ No newline at end of file
diff --git a/content/blog/2020/04/19/v3-0-0/index.html b/content/blog/2020/04/19/v3-0-0/index.html
new file mode 100644
index 0000000..5218e6b
--- /dev/null
+++ b/content/blog/2020/04/19/v3-0-0/index.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Release Version 3.0.0 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
+        document.addEventListener('DOMContentLoaded', function() {
+          addBackToTop(
+            {"zIndex":100}
+          )
+        });
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2020/04/19/v3-0-0">Release Version 3.0.0</a></h1><p class="post-meta">April 19, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><div><sp [...]
+<p>Apache SINGA V3.0.0 is released on April 18, 2020. This is the first official
+release since SINGA became the first Top-Level Apache project. There are three
+major features added in this release.</p>
+<p>First, a new Python class <a href="/docs/graph">Module</a> is introduced. New models
+(neural networks) can be implemented by inheriting it. The benefit is that SINGA
+will create a computational graph at the backend for speed and memory
+optimization.</p>
+<p>Second, the <a href="/docs/onnx">soonx</a> module is enhanced to support more ONNX
+operators. Multiple ONNX models have been tested for training and inference
+using SINGA.</p>
+<p>Last, communication optimization for <a href="/docs/dist-train">distributed training</a>,
+including gradient sparsification and compression. NCCL is integrated as the
+communication library.</p>
+<p>Please check the <a href="/docs/software-stack">overview page</a> and detailed
+<a href="/docs/installation">guides</a>.</p>
+</span></div></div><div class="blogSocialSection"><div class="blogSocialSectionItem"><a href="https://twitter.com/share" class="twitter-share-button" data-text="Release Version 3.0.0" data-url="https://feynmandna.github.io/blog/2020/04/19/v3-0-0" data-related="true" data-show-count="false">Tweet</a></div></div></div><div class="blog-recent"><a class="button" href="/blog/">Recent News</a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section c [...]
+   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.</section></div></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>
\ No newline at end of file
diff --git a/content/blog/atom.xml b/content/blog/atom.xml
index f5cc229..69430ce 100644
--- a/content/blog/atom.xml
+++ b/content/blog/atom.xml
@@ -2,7 +2,7 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://feynmandna.github.io/blog</id>
     <title>Apache SINGA Blog</title>
-    <updated>2019-10-16T06:00:00.000Z</updated>
+    <updated>2020-04-19T06:00:00.000Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://feynmandna.github.io/blog"/>
     <subtitle>The best place to stay up-to-date with the latest Apache SINGA news and events.</subtitle>
@@ -15,11 +15,24 @@
    may be trademarks or registered trademarks of their
    respective owners.</rights>
     <entry>
+        <title type="html"><![CDATA[Release Version 3.0.0]]></title>
+        <id>https://feynmandna.github.io/blog/2020/04/19/v3-0-0.html</id>
+        <link href="https://feynmandna.github.io/blog/2020/04/19/v3-0-0.html"/>
+        <updated>2020-04-19T06:00:00.000Z</updated>
+        <summary type="html"><![CDATA[ <p>Apache SINGA V3.0.0 is released on April 18, 2020. This is the first official release since SINGA became the first Top-Level Apache project. There are three major features added in this release.</p> <p>First, a new Python class <a href="/docs/graph">Module</a> is introduced. New mo...</p>]]></summary>
+        <author>
+            <name>Apache SINGA</name>
+            <email/>
+            <uri>https://twitter.com/ApacheSINGA</uri>
+        </author>
+    </entry>
+    <entry>
         <title type="html"><![CDATA[Apache SINGA as a Top-Level Project]]></title>
         <id>https://feynmandna.github.io/blog/2019/10/16/graduate-tlp.html</id>
         <link href="https://feynmandna.github.io/blog/2019/10/16/graduate-tlp.html"/>
         <updated>2019-10-16T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>The Apache Software Foundation (ASF) recently
+        <summary type="html"><![CDATA[<!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information 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 http://www.apache.org/licenses/LICENSE-2.0 Unle [...]
+<p>The Apache Software Foundation (ASF) recently
 <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">announced</a>
 Apache SINGA as a Top-Level Project.</p>
 <blockquote>
@@ -42,7 +55,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2019/10/03/foodlg-with-singa.html</id>
         <link href="https://feynmandna.github.io/blog/2019/10/03/foodlg-with-singa.html"/>
         <updated>2019-10-03T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>Food(lg), the mobile app to <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by SINGA and this app can now be downloaded on the <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or <a href="https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&amp;hl=en_SG">Google Play</a>. Watch this <a href="https://www.youtube.com/watch?v=MHp-saJiP-0">video</a> of Food(lg) for more detail [...]
+        <summary type="html"><![CDATA[ <p>Food(lg), the mobile app to <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by SINGA and this app can now be downloaded on the <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or <a href="https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&amp;hl=en_SG">Google Play</a>. Watch this <a href="https://www.youtube.com/watch?v=MHp-saJiP-0">video</a> of Food(lg) for more detai [...]
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -54,7 +67,8 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2019/08/16/imda.html</id>
         <link href="https://feynmandna.github.io/blog/2019/08/16/imda.html"/>
         <updated>2019-08-16T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
+        <summary type="html"><![CDATA[<!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information 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 http://www.apache.org/licenses/LICENSE-2.0 Unle [...]
+<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
 (IMDA) on 16 August, 2019.</p>
 <p>Snapshots of the tutorial:</p>
 <p><img src="/blog/assets/imda2019_1.png" alt="snapshot1"> <img src="/blog/assets/imda2019_2.png" alt="snapshot2"></p>
@@ -70,7 +84,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2019/06/27/google-summer-of-code.html</id>
         <link href="https://feynmandna.github.io/blog/2019/06/27/google-summer-of-code.html"/>
         <updated>2019-06-27T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>SINGA participated in mentoring the Google Summer of Code 2019 project <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p> ]]></summary>
+        <summary type="html"><![CDATA[ <p>SINGA participated in mentoring the Google Summer of Code 2019 project <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -82,7 +96,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2019/05/05/eu-fossa.html</id>
         <link href="https://feynmandna.github.io/blog/2019/05/05/eu-fossa.html"/>
         <updated>2019-05-05T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>SINGA participated at <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in Brussels on 4 and 5 May 2019.</p> ]]></summary>
+        <summary type="html"><![CDATA[ <p>SINGA participated at <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in Brussels on 4 and 5 May 2019.</p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -94,7 +108,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2019/04/20/v2-0-0.html</id>
         <link href="https://feynmandna.github.io/blog/2019/04/20/v2-0-0.html"/>
         <updated>2019-04-20T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p><strong>Version 2.0.0</strong> is now available, 20 April, 2019. <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p> ]]></summary>
+        <summary type="html"><![CDATA[ <p><strong>Version 2.0.0</strong> is now available, 20 April, 2019. <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -106,7 +120,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2018/12/14/DISI.html</id>
         <link href="https://feynmandna.github.io/blog/2018/12/14/DISI.html"/>
         <updated>2018-12-14T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>SINGA was presented at <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14 December 2018.</p> ]]></summary>
+        <summary type="html"><![CDATA[ <p>SINGA was presented at <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14 December 2018.</p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -118,7 +132,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2018/07/16/DIBRIS.html</id>
         <link href="https://feynmandna.github.io/blog/2018/07/16/DIBRIS.html"/>
         <updated>2018-07-16T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p>SINGA was presented at <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July 2018.9.</p> ]]></summary>
+        <summary type="html"><![CDATA[ <p>SINGA was presented at <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July 2018.9.</p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -130,7 +144,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2018/06/09/v1-2-0.html</id>
         <link href="https://feynmandna.github.io/blog/2018/06/09/v1-2-0.html"/>
         <updated>2018-06-09T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p><strong>Version 1.2.0</strong> is now available, 6 June, 2018. <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p> ]]></summary>
+        <summary type="html"><![CDATA[ <p><strong>Version 1.2.0</strong> is now available, 6 June, 2018. <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
@@ -142,7 +156,7 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
         <id>https://feynmandna.github.io/blog/2017/02/12/v1-1-0.html</id>
         <link href="https://feynmandna.github.io/blog/2017/02/12/v1-1-0.html"/>
         <updated>2017-02-12T06:00:00.000Z</updated>
-        <summary type="html"><![CDATA[<p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017. <a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p> ]]></summary>
+        <summary type="html"><![CDATA[ <p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017. <a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p> ]]></summary>
         <author>
             <name>Apache SINGA</name>
             <email/>
diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index 21c22ab..d55717c 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -4,7 +4,7 @@
         <title>Apache SINGA Blog</title>
         <link>https://feynmandna.github.io/blog</link>
         <description>The best place to stay up-to-date with the latest Apache SINGA news and events.</description>
-        <lastBuildDate>Wed, 16 Oct 2019 06:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Sun, 19 Apr 2020 06:00:00 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <image>
@@ -20,11 +20,19 @@
    may be trademarks or registered trademarks of their
    respective owners.</copyright>
         <item>
+            <title><![CDATA[Release Version 3.0.0]]></title>
+            <link>https://feynmandna.github.io/blog/2020/04/19/v3-0-0.html</link>
+            <guid>https://feynmandna.github.io/blog/2020/04/19/v3-0-0.html</guid>
+            <pubDate>Sun, 19 Apr 2020 06:00:00 GMT</pubDate>
+            <description><![CDATA[ <p>Apache SINGA V3.0.0 is released on April 18, 2020. This is the first official release since SINGA became the first Top-Level Apache project. There are three major features added in this release.</p> <p>First, a new Python class <a href="/docs/graph">Module</a> is introduced. New mo...</p>]]></description>
+        </item>
+        <item>
             <title><![CDATA[Apache SINGA as a Top-Level Project]]></title>
             <link>https://feynmandna.github.io/blog/2019/10/16/graduate-tlp.html</link>
             <guid>https://feynmandna.github.io/blog/2019/10/16/graduate-tlp.html</guid>
             <pubDate>Wed, 16 Oct 2019 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>The Apache Software Foundation (ASF) recently
+            <description><![CDATA[<!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information 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 http://www.apache.org/licenses/LICENSE-2.0 Unless r [...]
+<p>The Apache Software Foundation (ASF) recently
 <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">announced</a>
 Apache SINGA as a Top-Level Project.</p>
 <blockquote>
@@ -42,14 +50,15 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
             <link>https://feynmandna.github.io/blog/2019/10/03/foodlg-with-singa.html</link>
             <guid>https://feynmandna.github.io/blog/2019/10/03/foodlg-with-singa.html</guid>
             <pubDate>Thu, 03 Oct 2019 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>Food(lg), the mobile app to <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by SINGA and this app can now be downloaded on the <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or <a href="https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&amp;hl=en_SG">Google Play</a>. Watch this <a href="https://www.youtube.com/watch?v=MHp-saJiP-0">video</a> of Food(lg) for more details.</ [...]
+            <description><![CDATA[ <p>Food(lg), the mobile app to <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by SINGA and this app can now be downloaded on the <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or <a href="https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&amp;hl=en_SG">Google Play</a>. Watch this <a href="https://www.youtube.com/watch?v=MHp-saJiP-0">video</a> of Food(lg) for more details.< [...]
         </item>
         <item>
             <title><![CDATA[Singapore IMDA Presentation]]></title>
             <link>https://feynmandna.github.io/blog/2019/08/16/imda.html</link>
             <guid>https://feynmandna.github.io/blog/2019/08/16/imda.html</guid>
             <pubDate>Fri, 16 Aug 2019 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
+            <description><![CDATA[<!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information 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 http://www.apache.org/licenses/LICENSE-2.0 Unless r [...]
+<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
 (IMDA) on 16 August, 2019.</p>
 <p>Snapshots of the tutorial:</p>
 <p><img src="/blog/assets/imda2019_1.png" alt="snapshot1"> <img src="/blog/assets/imda2019_2.png" alt="snapshot2"></p>
@@ -60,49 +69,49 @@ Singapore, and was submitted to the Apache Incubator in March 2015.</p>
             <link>https://feynmandna.github.io/blog/2019/06/27/google-summer-of-code.html</link>
             <guid>https://feynmandna.github.io/blog/2019/06/27/google-summer-of-code.html</guid>
             <pubDate>Thu, 27 Jun 2019 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>SINGA participated in mentoring the Google Summer of Code 2019 project <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p> ]]></description>
+            <description><![CDATA[ <p>SINGA participated in mentoring the Google Summer of Code 2019 project <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p> ]]></description>
         </item>
         <item>
             <title><![CDATA[EU FOSSA Apache Hackathon]]></title>
             <link>https://feynmandna.github.io/blog/2019/05/05/eu-fossa.html</link>
             <guid>https://feynmandna.github.io/blog/2019/05/05/eu-fossa.html</guid>
             <pubDate>Sun, 05 May 2019 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>SINGA participated at <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in Brussels on 4 and 5 May 2019.</p> ]]></description>
+            <description><![CDATA[ <p>SINGA participated at <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in Brussels on 4 and 5 May 2019.</p> ]]></description>
         </item>
         <item>
             <title><![CDATA[Version 2.0.0]]></title>
             <link>https://feynmandna.github.io/blog/2019/04/20/v2-0-0.html</link>
             <guid>https://feynmandna.github.io/blog/2019/04/20/v2-0-0.html</guid>
             <pubDate>Sat, 20 Apr 2019 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p><strong>Version 2.0.0</strong> is now available, 20 April, 2019. <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p> ]]></description>
+            <description><![CDATA[ <p><strong>Version 2.0.0</strong> is now available, 20 April, 2019. <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p> ]]></description>
         </item>
         <item>
             <title><![CDATA[DISI Trento Presentation]]></title>
             <link>https://feynmandna.github.io/blog/2018/12/14/DISI.html</link>
             <guid>https://feynmandna.github.io/blog/2018/12/14/DISI.html</guid>
             <pubDate>Fri, 14 Dec 2018 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>SINGA was presented at <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14 December 2018.</p> ]]></description>
+            <description><![CDATA[ <p>SINGA was presented at <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14 December 2018.</p> ]]></description>
         </item>
         <item>
             <title><![CDATA[DIBRIS Genoa Presentation]]></title>
             <link>https://feynmandna.github.io/blog/2018/07/16/DIBRIS.html</link>
             <guid>https://feynmandna.github.io/blog/2018/07/16/DIBRIS.html</guid>
             <pubDate>Mon, 16 Jul 2018 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p>SINGA was presented at <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July 2018.9.</p> ]]></description>
+            <description><![CDATA[ <p>SINGA was presented at <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July 2018.9.</p> ]]></description>
         </item>
         <item>
             <title><![CDATA[Version 1.2.0]]></title>
             <link>https://feynmandna.github.io/blog/2018/06/09/v1-2-0.html</link>
             <guid>https://feynmandna.github.io/blog/2018/06/09/v1-2-0.html</guid>
             <pubDate>Sat, 09 Jun 2018 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p><strong>Version 1.2.0</strong> is now available, 6 June, 2018. <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p> ]]></description>
+            <description><![CDATA[ <p><strong>Version 1.2.0</strong> is now available, 6 June, 2018. <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p> ]]></description>
         </item>
         <item>
             <title><![CDATA[Version 1.1.0]]></title>
             <link>https://feynmandna.github.io/blog/2017/02/12/v1-1-0.html</link>
             <guid>https://feynmandna.github.io/blog/2017/02/12/v1-1-0.html</guid>
             <pubDate>Sun, 12 Feb 2017 06:00:00 GMT</pubDate>
-            <description><![CDATA[<p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017. <a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p> ]]></description>
+            <description><![CDATA[ <p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017. <a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p> ]]></description>
         </item>
     </channel>
 </rss>
\ No newline at end of file
diff --git a/content/blog/index.html b/content/blog/index.html
index cdfdd47..82a54c4 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/d [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,24 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></di [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2020/04/19/v3-0-0">Release Version 3.0.0</a></h1><p class="post-meta">April 19, 2020</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article cl [...]
+<p>Apache SINGA V3.0.0 is released on April 18, 2020. This is the first official
+release since SINGA became the first Top-Level Apache project. There are three
+major features added in this release.</p>
+<p>First, a new Python class <a href="/docs/graph">Module</a> is introduced. New models
+(neural networks) can be implemented by inheriting it. The benefit is that SINGA
+will create a computational graph at the backend for speed and memory
+optimization.</p>
+<p>Second, the <a href="/docs/onnx">soonx</a> module is enhanced to support more ONNX
+operators. Multiple ONNX models have been tested for training and inference
+using SINGA.</p>
+<p>Last, communication optimization for <a href="/docs/dist-train">distributed training</a>,
+including gradient sparsification and compression. NCCL is integrated as the
+communication library.</p>
+<p>Please check the <a href="/docs/software-stack">overview page</a> and detailed
+<a href="/docs/installation">guides</a>.</p>
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF [...]
+<p>The Apache Software Foundation (ASF) recently
 <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">announced</a>
 Apache SINGA as a Top-Level Project.</p>
 <blockquote>
@@ -71,35 +88,41 @@ announced today Apache® SINGA™ as a Top-Level Project (TLP).</p>
 The project was originally developed in 2014 at the National University of
 Singapore, and was submitted to the Apache Incubator in March 2015.</p>
 </blockquote>
-</span></div><div class="read-more"><a class="button" href="/blog/2019/10/16/graduate-tlp">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><arti [...]
+</span></div><div class="read-more"><a class="button" href="/blog/2019/10/16/graduate-tlp">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><arti [...]
+<p>Food(lg), the mobile app to
 <a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by
 SINGA and this app can now be downloaded on the
 <a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or
 <a href="https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&amp;hl=en_SG">Google Play</a>.
 Watch this <a href="https://www.youtube.com/watch?v=MHp-saJiP-0">video</a> of Food(lg) for
 more details.</p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>A tutorial on SINGA was given at Singapore Infocomm Media Developme [...]
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or mo [...]
+<p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
 (IMDA) on 16 August, 2019.</p>
 <p>Snapshots of the tutorial:</p>
 <p><img src="/blog/assets/imda2019_1.png" alt="snapshot1"> <img src="/blog/assets/imda2019_2.png" alt="snapshot2"></p>
-</span></div><div class="read-more"><a class="button" href="/blog/2019/08/16/imda">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article [...]
+</span></div><div class="read-more"><a class="button" href="/blog/2019/08/16/imda">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article [...]
+<p>SINGA participated in mentoring the Google Summer of Code 2019 project
 <a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA participated at
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more [...]
+<p>SINGA participated at
 <a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in
 Brussels on 4 and 5 May 2019.</p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p><strong>Version 2.0.0</strong> is now available, 20 April, 2019.
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contributo [...]
+<p><strong>Version 2.0.0</strong> is now available, 20 April, 2019.
 <a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA was presented at
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or mor [...]
+<p>SINGA was presented at
 <a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14
 December 2018.</p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA was presented at
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more [...]
+<p>SINGA was presented at
 <a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July
 2018.9.</p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p><strong>Version 1.2.0</strong> is now available, 6 June, 2018.
+</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor  [...]
+<p><strong>Version 1.2.0</strong> is now available, 6 June, 2018.
 <a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p>
-</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017.
-<a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readthedocs.io/en/latest/">API Reference</a><a href="/docs/examples">Examples</a><a href="/docs [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next" href="/blog/page2/">Next →</a></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readthedocs.io/en/latest/">API Reference</a> [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/blog/page2/index.html b/content/blog/page2/index.html
new file mode 100644
index 0000000..c1c977f
--- /dev/null
+++ b/content/blog/page2/index.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Blog · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Distributed deep learning system"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Blog · Apache SINGA"/><meta property="og:type" content="website"/><meta property="og:url" content [...]
+        document.addEventListener('DOMContentLoaded', function() {
+          addBackToTop(
+            {"zIndex":100}
+          )
+        });
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/d [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class=" [...]
+<p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017.
+<a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev" href="/blog/">← Prev</a></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readthedocs.io/en/latest/">API Reference</a><a hre [...]
+   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.</section></div></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>
\ No newline at end of file
diff --git a/content/docs/autograd.html b/content/docs/autograd.html
index faa7b3a..cef9217 100644
--- a/content/docs/autograd.html
+++ b/content/docs/autograd.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Autograd · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Autograd · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/autograd/index.html b/content/docs/autograd/index.html
index faa7b3a..cef9217 100644
--- a/content/docs/autograd/index.html
+++ b/content/docs/autograd/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Autograd · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Autograd · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/benchmark-train.html b/content/docs/benchmark-train.html
index 2ca5767..ef0b17a 100644
--- a/content/docs/benchmark-train.html
+++ b/content/docs/benchmark-train.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Benchmark for Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Benchmark for Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Workload: we use a deep convolutional neural network,
 <a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet.py">ResNet-50</a>
 as the application. ResNet-50 is has 50 convolution layers for image
diff --git a/content/docs/benchmark-train/index.html b/content/docs/benchmark-train/index.html
index 2ca5767..ef0b17a 100644
--- a/content/docs/benchmark-train/index.html
+++ b/content/docs/benchmark-train/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Benchmark for Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Benchmark for Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Workload: we use a deep convolutional neural network,
 <a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet.py">ResNet-50</a>
 as the application. ResNet-50 is has 50 convolution layers for image
diff --git a/content/docs/build.html b/content/docs/build.html
index 2e41ce0..cd8e8a2 100644
--- a/content/docs/build.html
+++ b/content/docs/build.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA from Source · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA from Source · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/build/index.html b/content/docs/build/index.html
index 2e41ce0..cd8e8a2 100644
--- a/content/docs/build/index.html
+++ b/content/docs/build/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA from Source · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA from Source · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/contribute-code.html b/content/docs/contribute-code.html
index 5dd326c..a869e87 100644
--- a/content/docs/contribute-code.html
+++ b/content/docs/contribute-code.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute Code · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute Code · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -104,11 +104,17 @@ different PRs would be identical to get rid of github pull request conflicts.</p
 <p>First, install LLVM 9.0 which provides clang-format version 9.0.0. The download
 page of LLVM is:</p>
 <ul>
-<li><a href="http://releases.llvm.org/download.html#9.0.0">LLVM</a></li>
+<li><p><a href="http://releases.llvm.org/download.html#9.0.0">LLVM</a></p>
+<ul>
+<li><p>On Ubuntu</p>
+<pre><code class="hljs css language-sh">sudo apt-get install clang-format-9
+</code></pre></li>
+<li><p>On Windows. Download the pre-built package and install</p></li>
+</ul></li>
 </ul>
 <p>Second, install cpplint, pylint and yapf</p>
 <ul>
-<li><p>OSX:</p>
+<li><p>Ubuntu or OSX:</p>
 <pre><code class="hljs"><span class="hljs-meta">$</span><span class="bash"> sudo pip install cpplint</span>
 <span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">which</span> cpplint</span>
 /path/to/cpplint
@@ -149,7 +155,7 @@ the updated Python files to replace those in the Python installation folder,</p>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="workflow"></a><a href="#workflow" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Please refer to the <a href="./git-workflow">git workflow page</a>.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/build"><span class="arrow-prev">← </span><span>Build SINGA from Source</span></a><a class="docs-next button" href="/docs/contribute-docs"><span>How to Contribute to Documentation</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#coding-style">Coding Style< [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/13/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/build"><span class="arrow-prev">← </span><span>Build SINGA from Source</span></a><a class="docs-next button" href="/docs/contribute-docs"><span>How to Contribute to Documentation</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#coding-style">Coding Style [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/contribute-code/index.html b/content/docs/contribute-code/index.html
index 5dd326c..a869e87 100644
--- a/content/docs/contribute-code/index.html
+++ b/content/docs/contribute-code/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute Code · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute Code · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -104,11 +104,17 @@ different PRs would be identical to get rid of github pull request conflicts.</p
 <p>First, install LLVM 9.0 which provides clang-format version 9.0.0. The download
 page of LLVM is:</p>
 <ul>
-<li><a href="http://releases.llvm.org/download.html#9.0.0">LLVM</a></li>
+<li><p><a href="http://releases.llvm.org/download.html#9.0.0">LLVM</a></p>
+<ul>
+<li><p>On Ubuntu</p>
+<pre><code class="hljs css language-sh">sudo apt-get install clang-format-9
+</code></pre></li>
+<li><p>On Windows. Download the pre-built package and install</p></li>
+</ul></li>
 </ul>
 <p>Second, install cpplint, pylint and yapf</p>
 <ul>
-<li><p>OSX:</p>
+<li><p>Ubuntu or OSX:</p>
 <pre><code class="hljs"><span class="hljs-meta">$</span><span class="bash"> sudo pip install cpplint</span>
 <span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">which</span> cpplint</span>
 /path/to/cpplint
@@ -149,7 +155,7 @@ the updated Python files to replace those in the Python installation folder,</p>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="workflow"></a><a href="#workflow" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Please refer to the <a href="./git-workflow">git workflow page</a>.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/build"><span class="arrow-prev">← </span><span>Build SINGA from Source</span></a><a class="docs-next button" href="/docs/contribute-docs"><span>How to Contribute to Documentation</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#coding-style">Coding Style< [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/13/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/build"><span class="arrow-prev">← </span><span>Build SINGA from Source</span></a><a class="docs-next button" href="/docs/contribute-docs"><span>How to Contribute to Documentation</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#coding-style">Coding Style [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/contribute-docs.html b/content/docs/contribute-docs.html
index fc46305..fc7e67b 100644
--- a/content/docs/contribute-docs.html
+++ b/content/docs/contribute-docs.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute to Documentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information r [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute to Documentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information r [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/contribute-docs/index.html b/content/docs/contribute-docs/index.html
index fc46305..fc7e67b 100644
--- a/content/docs/contribute-docs/index.html
+++ b/content/docs/contribute-docs/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute to Documentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information r [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Contribute to Documentation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information r [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/device.html b/content/docs/device.html
index 564e0e1..50c556e 100644
--- a/content/docs/device.html
+++ b/content/docs/device.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Device · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Device · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/device/index.html b/content/docs/device/index.html
index 564e0e1..50c556e 100644
--- a/content/docs/device/index.html
+++ b/content/docs/device/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Device · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Device · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/dist-train.html b/content/docs/dist-train.html
index e200c5d..3fef937 100644
--- a/content/docs/dist-train.html
+++ b/content/docs/dist-train.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copy [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copy [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -397,7 +397,7 @@ partitioned, so that each process can evaluate the sub-gradient based on the
 partitioned training data. Once the sub-gradient is calculated on each
 processes, the overall stochastic gradient is obtained by all-reducing the
 sub-gradients evaluated by all processes.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/graph"><span class="arrow-prev">← </span><span>Computational Graph</span></a><a class="docs-next button" href="/docs/download-singa"><span>Download SINGA</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#usage">Usage</a><ul class="toc-headings"><li><a href [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/onnx"><span class="arrow-prev">← </span><span>ONNX</span></a><a class="docs-next button" href="/docs/download-singa"><span>Download SINGA</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#usage">Usage</a><ul class="toc-headings"><li><a href="#example-code" [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/dist-train/index.html b/content/docs/dist-train/index.html
index e200c5d..3fef937 100644
--- a/content/docs/dist-train/index.html
+++ b/content/docs/dist-train/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copy [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Distributed Training · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copy [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -397,7 +397,7 @@ partitioned, so that each process can evaluate the sub-gradient based on the
 partitioned training data. Once the sub-gradient is calculated on each
 processes, the overall stochastic gradient is obtained by all-reducing the
 sub-gradients evaluated by all processes.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/graph"><span class="arrow-prev">← </span><span>Computational Graph</span></a><a class="docs-next button" href="/docs/download-singa"><span>Download SINGA</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#usage">Usage</a><ul class="toc-headings"><li><a href [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/onnx"><span class="arrow-prev">← </span><span>ONNX</span></a><a class="docs-next button" href="/docs/download-singa"><span>Download SINGA</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#usage">Usage</a><ul class="toc-headings"><li><a href="#example-code" [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/download-singa.html b/content/docs/download-singa.html
index d4dc0b1..271dcad 100644
--- a/content/docs/download-singa.html
+++ b/content/docs/download-singa.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Download SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Download SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,15 +60,36 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/download-singa.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Download SINGA</h1></header><article><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contribu [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/download.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Download SINGA</h1></header><article><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor li [...]
 <h2><a class="anchor" aria-hidden="true" id="verify"></a><a href="#verify" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>To verify the downloaded tar.gz file, download the
-<a href="https://www.apache.org/dist/incubator/singa/KEYS">KEYS</a> and ASC files and then
-execute the following commands</p>
+<a href="https://www.apache.org/dist/singa/KEYS">KEYS</a> and ASC files and then execute
+the following commands</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">%</span><span class="bash"> gpg --import KEYS</span>
 <span class="hljs-meta">%</span><span class="bash"> gpg --verify downloaded_file.asc downloaded_file</span>
 </code></pre>
 <p>You can also check the SHA512 or MD5 values to see if the download is completed.</p>
+<h2><a class="anchor" aria-hidden="true" id="v300-18-april-2020"></a><a href="#v300-18-april-2020" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/singa/3.0.0/apache-singa-3.0.0.tar.gz">Apache SINGA 3.0.0</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.sha512">[SHA512]</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.asc">[ASC]</a></li>
+<li><a href="releases/RELEASE_NOTES_3.0.0">Release Notes 3.0.0</a></li>
+<li>New features and major changes,
+<ul>
+<li>Enhanced ONNX. Multiple ONNX models have been tested in SINGA.</li>
+<li>Distributed training with MPI and NCCL Communication optimization through
+gradient sparsification and compression, and chunk transmission.</li>
+<li>Computational graph construction and optimization for speed and memory using
+the graph.</li>
+<li>New documentation website (singa.apache.org) and API reference website
+(apache-singa.rtfd.io).</li>
+<li>CI for code quality check.</li>
+<li>Replace MKLDNN with DNNL</li>
+<li>Update tensor APIs to support broadcasting operations.</li>
+<li>New autograd operators to support ONNX models.</li>
+</ul></li>
+</ul>
 <h2><a class="anchor" aria-hidden="true" id="incubating-v200-20-april-2019"></a><a href="#incubating-v200-20-april-2019" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <ul>
 <li><a href="http://www.apache.org/dyn/closer.cgi/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz">Apache SINGA 2.0.0 (incubating)</a>
@@ -82,7 +103,7 @@ execute the following commands</p>
 <li>Improve the CPP operations via Intel MKL DNN lib</li>
 <li>Implement tensor broadcasting</li>
 <li>Move Docker images under Apache user name</li>
-<li>Update depdent lib versions in conda-build config</li>
+<li>Update dependent lib versions in conda-build config</li>
 </ul></li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="incubating-v120-6-june-2018"></a><a href="#incubating-v120-6-june-2018" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
@@ -222,18 +243,7 @@ models, energy models and RNN models.</li>
 <li>Unit test using gtest</li>
 </ul></li>
 </ul>
-<blockquote>
-<p><strong>Disclaimer</strong></p>
-<p>Apache SINGA is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have
-stabilized in a manner consistent with other successful ASF projects. While
-incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.</p>
-</blockquote>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href="#incubatin [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href="#v300-18- [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/download-singa/index.html b/content/docs/download-singa/index.html
index d4dc0b1..271dcad 100644
--- a/content/docs/download-singa/index.html
+++ b/content/docs/download-singa/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Download SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Download SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,15 +60,36 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/download-singa.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Download SINGA</h1></header><article><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contribu [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/download.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Download SINGA</h1></header><article><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor li [...]
 <h2><a class="anchor" aria-hidden="true" id="verify"></a><a href="#verify" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>To verify the downloaded tar.gz file, download the
-<a href="https://www.apache.org/dist/incubator/singa/KEYS">KEYS</a> and ASC files and then
-execute the following commands</p>
+<a href="https://www.apache.org/dist/singa/KEYS">KEYS</a> and ASC files and then execute
+the following commands</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">%</span><span class="bash"> gpg --import KEYS</span>
 <span class="hljs-meta">%</span><span class="bash"> gpg --verify downloaded_file.asc downloaded_file</span>
 </code></pre>
 <p>You can also check the SHA512 or MD5 values to see if the download is completed.</p>
+<h2><a class="anchor" aria-hidden="true" id="v300-18-april-2020"></a><a href="#v300-18-april-2020" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/singa/3.0.0/apache-singa-3.0.0.tar.gz">Apache SINGA 3.0.0</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.sha512">[SHA512]</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.asc">[ASC]</a></li>
+<li><a href="releases/RELEASE_NOTES_3.0.0">Release Notes 3.0.0</a></li>
+<li>New features and major changes,
+<ul>
+<li>Enhanced ONNX. Multiple ONNX models have been tested in SINGA.</li>
+<li>Distributed training with MPI and NCCL Communication optimization through
+gradient sparsification and compression, and chunk transmission.</li>
+<li>Computational graph construction and optimization for speed and memory using
+the graph.</li>
+<li>New documentation website (singa.apache.org) and API reference website
+(apache-singa.rtfd.io).</li>
+<li>CI for code quality check.</li>
+<li>Replace MKLDNN with DNNL</li>
+<li>Update tensor APIs to support broadcasting operations.</li>
+<li>New autograd operators to support ONNX models.</li>
+</ul></li>
+</ul>
 <h2><a class="anchor" aria-hidden="true" id="incubating-v200-20-april-2019"></a><a href="#incubating-v200-20-april-2019" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <ul>
 <li><a href="http://www.apache.org/dyn/closer.cgi/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz">Apache SINGA 2.0.0 (incubating)</a>
@@ -82,7 +103,7 @@ execute the following commands</p>
 <li>Improve the CPP operations via Intel MKL DNN lib</li>
 <li>Implement tensor broadcasting</li>
 <li>Move Docker images under Apache user name</li>
-<li>Update depdent lib versions in conda-build config</li>
+<li>Update dependent lib versions in conda-build config</li>
 </ul></li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="incubating-v120-6-june-2018"></a><a href="#incubating-v120-6-june-2018" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
@@ -222,18 +243,7 @@ models, energy models and RNN models.</li>
 <li>Unit test using gtest</li>
 </ul></li>
 </ul>
-<blockquote>
-<p><strong>Disclaimer</strong></p>
-<p>Apache SINGA is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have
-stabilized in a manner consistent with other successful ASF projects. While
-incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.</p>
-</blockquote>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href="#incubatin [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href="#v300-18- [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/examples.html b/content/docs/examples.html
index 404e33b..bc32edb 100644
--- a/content/docs/examples.html
+++ b/content/docs/examples.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Examples · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Examples · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/examples/index.html b/content/docs/examples/index.html
index 404e33b..bc32edb 100644
--- a/content/docs/examples/index.html
+++ b/content/docs/examples/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Examples · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Examples · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/git-workflow.html b/content/docs/git-workflow.html
index d76306c..48024ee 100644
--- a/content/docs/git-workflow.html
+++ b/content/docs/git-workflow.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Git Workflow · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Git Workflow · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/git-workflow/index.html b/content/docs/git-workflow/index.html
index d76306c..48024ee 100644
--- a/content/docs/git-workflow/index.html
+++ b/content/docs/git-workflow/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Git Workflow · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Git Workflow · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/graph.html b/content/docs/graph.html
index 0562c22..675df60 100644
--- a/content/docs/graph.html
+++ b/content/docs/graph.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Computational Graph · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyri [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Computational Graph · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyri [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -61,87 +61,26 @@
               }
             });
         </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/graph.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Computational Graph</h1></header><article><div><span><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor l [...]
-<p>SINGA can buffering operations to create a computational graph (CG). With the
-computational graph, SINGA can schedule the execution of operations as well as
-the memory allocation and release. It makes training more efficient while using
-less memory.</p>
-<h2><a class="anchor" aria-hidden="true" id="about-computational-graph"></a><a href="#about-computational-graph" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
-<h3><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Computational graph is used to represent networks of the flow of computation. It
-is composed of many nodes and edges, where nodes represent various operations
-and edges represent data. In deep neural networks, nodes are tensor-based
-operations such as convolution and edges are tensors.</p>
-<p>The entire neural network is equivalent to a computational graph, all neural
-networks can correspond to a calculation graph. By representing the neural
-network as a calculation graph, some optimizations for neural networks can be
-performed on the calculation graph.</p>
-<h3><a class="anchor" aria-hidden="true" id="pipeline"></a><a href="#pipeline" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>The whole process of using the calculational graph to represent the model and
-execute the graph consists of roughly four steps. The whole process is actually
-similar to compiling. We first describe the program with code, then translate
-the program into intermediate code, then optimize the intermediate code and
-finally come up with many ways to efficiently execute the code. In neural
-networks, the intermediate code is the calculation graph. We can optimize
-through techniques like common sub-expression elimination. When the computer
-executes the compiled binary file, it can be efficiently executed by using
-multi-thread technology, and the same as the execution of the calculation graph.
-Therefore, some ideas of compilation principles can also be used in the
-optimization of calculation graphs.</p>
-<ul>
-<li><p>Write the python code for the model.</p></li>
-<li><p>Construct the computational graph based on the python code.</p></li>
-<li><p>Optimize the computational graph.</p></li>
-<li><p>Execute the computational graph efficiently.</p></li>
-</ul>
-<p>Figure 1 shows a simple example of going through the entire process.</p>
-<p><img src="assets/GraphPipeline.png" alt="The pipeline of using computational graph" style="zoom:40%;" /></p>
-<p><br/><strong>Figure 1 - The pipeline of using computational graph</strong></p>
-<h3><a class="anchor" aria-hidden="true" id="an-example-of-mlp"></a><a href="#an-example-of-mlp" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>A simple MLP model can be constructed on the Python side by using some APIs of
-SINGA.</p>
-<pre><code class="hljs css language-python">x = autograd.matmul(inputs, w0)
-x = autograd.add_bias(x, b0)
-x = autograd.relu(x)
-x = autograd.matmul(x, w1)
-x = autograd.add_bias(x, b1)
-loss = autograd.softmax_cross_entropy(x, target)
-sgd.backward_and_update(loss)
-</code></pre>
-<p>When the model is defined, there is actually a calculation graph corresponding
-to it. This calculation graph contains the calculations that the entire SINGA
-will perform. Figure 2 shows the computational graph corresponding to the MLP
-model defined above.</p>
-<p><img src="/docs/assets/GraphOfMLP.png" alt="The computational graph of MLP"></p>
-<p><br/><strong>Figure 2 - The computational graph of MLP</strong></p>
-<h2><a class="anchor" aria-hidden="true" id="features"></a><a href="#features" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>There are four main components of a computational graph in SINGA, namely (i)
-Computational graph construction, (ii) Lazy allocation, (iii) Automatic
-recycling, (iv) Shared memory. Details are as follows:</p>
-<ul>
-<li><code>Computational graph construction</code>: Construct a computational graph based on
-the mathematical or deep learning operations, and then run the graph to
-accomplish the training task. The computational graph also includes operations
-like communicator.synch and communicator.fusedSynch for the distributed
-training.</li>
-<li><code>Lazy allocation</code>: When blocks are allocated, devices do not allocate memory
-for them immediately. Devices do memory allocation only when an operation uses
-this block for the first time.</li>
-<li><code>Automatic recycling</code>: When we are running a graph in an iteration, it
-automatically deallocates the intermediate tensors which won't be used again
-in the remaining operations.</li>
-<li><code>Shared memory</code>: When two operations will never be performed at the same time,
-the result tensors produced by them can share a piece of memory.</li>
-</ul>
-<h2><a class="anchor" aria-hidden="true" id="how-to-use"></a><a href="#how-to-use" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<ul>
-<li>A CNN example.</li>
-</ul>
-<pre><code class="hljs css language-Python">
-<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CNN</span><span class="hljs-params">(module.Module)</span>:</span>
+<p>The forward and backward propagation in a neural network can be represented
+using a set of operations such as convolution and pooling. Each operation takes
+some input <a href="./tensor">tensors</a> and applies an <a href="./autograd">operator</a> to generate
+output tensors. By representing each operator as a node and each tensor as an
+edge, all operations form a computational graph. With the computational graph,
+speed and memory optimization can be conducted by scheduling the execution of
+the operations and memory allocation/release intelligently. In SINGA, users only
+need to define the neural network model using the
+<a href="https://github.com/apache/singa/blob/master/python/singa/module.py">Module</a>
+API. The graph is constructed and optimized at the C++ backend automatically.</p>
+<h2><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>The following code illustrates the usage of the <code>Module</code> API.</p>
+<ol>
+<li>Implement the new model as a subclass the Module class.</li>
+</ol>
+<pre><code class="hljs css language-Python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CNN</span><span class="hljs-params">(module.Module)</span>:</span>
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, optimizer)</span>:</span>
         super(CNN, self).__init__()
-
+        <span class="hljs-comment"># define layers</span>
         self.conv1 = autograd.Conv2d(<span class="hljs-number">1</span>, <span class="hljs-number">20</span>, <span class="hljs-number">5</span>, padding=<span class="hljs-number">0</span>)
         self.conv2 = autograd.Conv2d(<span class="hljs-number">20</span>, <span class="hljs-number">50</span>, <span class="hljs-number">5</span>, padding=<span class="hljs-number">0</span>)
         self.linear1 = autograd.Linear(<span class="hljs-number">4</span> * <span class="hljs-number">4</span> * <span class="hljs-number">50</span>, <span class="hljs-number">500</span>)
@@ -152,6 +91,7 @@ the result tensors produced by them can share a piece of memory.</li>
         self.optimizer = optimizer
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x)</span>:</span>
+        <span class="hljs-comment"># define the forward operations</span>
         y = self.conv1(x)
         y = autograd.relu(y)
         y = self.pooling1(y)
@@ -165,52 +105,224 @@ the result tensors produced by them can share a piece of memory.</li>
         <span class="hljs-keyword">return</span> y
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">loss</span><span class="hljs-params">(self, x, ty)</span>:</span>
+        <span class="hljs-comment"># define the training loss</span>
         <span class="hljs-keyword">return</span> autograd.softmax_cross_entropy(x, ty)
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">optim</span><span class="hljs-params">(self, loss)</span>:</span>
+        <span class="hljs-comment"># update the parameters using SGD algorithms</span>
         self.optimizer.backward_and_update(loss)
-
-<span class="hljs-comment"># initialization other objects</span>
-<span class="hljs-comment"># ......</span>
-model = CNN(sgd)
-model.train()
+</code></pre>
+<ol start="2">
+<li>Create an instance of the model, and do some configurations</li>
+</ol>
+<pre><code class="hljs css language-python">model = CNN(sgd)
+<span class="hljs-comment"># set the mode of running the operations:</span>
+<span class="hljs-comment"># True for training; False for evaluation</span>
+model.train(mode=<span class="hljs-literal">True</span>)
+<span class="hljs-comment"># set the device for running the operations</span>
 model.on_device(dev)
-model.graph(graph, sequential)
-
-<span class="hljs-comment"># Train</span>
-<span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> range(num_train_batch):
-    <span class="hljs-comment"># Generate the patch data in this iteration</span>
-    <span class="hljs-comment"># ......</span>
+<span class="hljs-comment"># whether to create the graph or run the operations imperatively</span>
+model.graph(mode=<span class="hljs-literal">True</span>)
+</code></pre>
+<ol start="3">
+<li>Train the model iteratively</li>
+</ol>
+<pre><code class="hljs css language-python"><span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> range(num_train_batch):
+    <span class="hljs-comment"># generate the next mini-batch</span>
+    x, y = ...
 
-    <span class="hljs-comment"># Copy the patch data into input tensors</span>
+    <span class="hljs-comment"># Copy the data into input tensors</span>
     tx.copy_from_numpy(x)
     ty.copy_from_numpy(y)
 
-    <span class="hljs-comment"># Train the model</span>
+    <span class="hljs-comment"># run forward propagation</span>
     out = model(tx)
     loss = model.loss(out, ty)
+    <span class="hljs-comment"># run backward propagation</span>
     model.optim(loss)
 </code></pre>
 <p>A Google Colab notebook of this example is available
 <a href="https://colab.research.google.com/drive/1fbGUs1AsoX6bU5F745RwQpohP4bHTktq">here</a>.</p>
+<p>More examples:</p>
 <ul>
-<li>Some settings:
-<a href="https://github.com/apache/singa/blob/master/python/singa/module.py">module.py</a>
+<li><a href="https://github.com/apache/singa/blob/master/examples/mlp/module.py">MLP</a></li>
+<li><a href="https://github.com/apache/singa/blob/master/examples/cnn/model/cnn.py">CNN</a></li>
+<li><a href="https://github.com/apache/singa/blob/master/examples/cnn/model/resnet.py">ResNet</a></li>
+</ul>
+<h2><a class="anchor" aria-hidden="true" id="implementation"></a><a href="#implementation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<h3><a class="anchor" aria-hidden="true" id="graph-construction"></a><a href="#graph-construction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<p>SINGA constructs the computational graph in three steps:</p>
+<ol>
+<li>buffer the operations</li>
+<li>analyze the dependencies operations</li>
+<li>create the nodes and edges based on the dependencies</li>
+</ol>
+<p>Take the matrix multiplication operation from the dense layer of a
+<a href="https://github.com/apache/singa/blob/master/examples/mlp/module.py">MLP model</a>
+as an example. The operation is called in the <code>forward</code> function of the MLP
+class</p>
+<pre><code class="hljs css language-python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MLP</span><span class="hljs-params">(module.Module)</span>:</span>
+
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, inputs)</span>:</span>
+        x = autograd.matmul(inputs, self.w0)
+        ...
+</code></pre>
+<p><code>autograd</code> implements the <code>matmul</code> operator by calling the function <code>Mult</code>
+exposed from CPP via SWIG.</p>
+<pre><code class="hljs css language-python"><span class="hljs-comment"># implementation of matmul()</span>
+singa.Mult(inputs, w)
+</code></pre>
+<p>At the backend, the <code>Mult</code> function is implemented by calling <code>GEMV</code> a CBLAS
+function. Instead of calling <code>GEMV</code> directly, <code>Mult</code> submits <code>GEMV</code> and the
+arguments to the device as follows,</p>
+<pre><code class="hljs css language-c++"><span class="hljs-comment">// implementation of Mult()</span>
+C-&gt;device()-&gt;Exec(
+    [a, A, b, B, CRef](Context *ctx) <span class="hljs-keyword">mutable</span> {
+        GEMV&lt;DType, Lang&gt;(a, A, B, b, &amp;CRef, ctx);
+    },
+    read_blocks, {C-&gt;block()});
+</code></pre>
+<p>The <code>Exec</code> function of <code>Device</code> buffers the function and its arguments. In
+addition, it also has the information about the blocks (a block is a chunk of
+memory for a tensor) to be read and written by this function.</p>
+<p>Once <code>Module.forward()</code> has been executed once, all operations are buffered by
+<code>Device</code>. Next, the read/write information of all operations are analyzed to
+create the computational graph. For example, if a block <code>b</code> is written by one
+operation O1 and is later read by another operation O2, we would know O2 depends
+on O1 and there is a directed edge from A to B, which represents block <code>b</code> (or
+its tensor). After that a directed acyclic graph is constructed as shown below.
+The graph is constructed once.</p>
+<p><img src="/docs/assets/GraphOfMLP.png" alt="The computational graph of MLP"></p>
+<p><br/><strong>Figure 1 - The computational graph of the MLP example.</strong></p>
+<h3><a class="anchor" aria-hidden="true" id="optimization"></a><a href="#optimization" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Currently, the following optimizations are done based on the computational
+graph.</p>
+<p><strong>Lazy allocation</strong> When tensor/blocks are created, devices do not allocate
+memory for them immediately. Instead, when the block is accessed for the first
+time, the memory is allocated.</p>
+<p><strong>Automatic recycling</strong> The reference count of each tensor/block is calculated
+based on the graph. Before executing the operations, the reference count is the
+number of operations that read this block. During the execution, once an
+operation is executed, the reference count of the every input block is decreased
+by 1. If one block's reference count reaches 0, it means that this block will
+not be read again in the remaining operations. Therefore, its memory can be
+released safely. In addition, SINGA tracks the usage of the block outside of the
+graph. If a block is used by Python code (not by autograd operators), it will
+not be recycled.</p>
+<p><strong>Memory sharing</strong> SINGA uses memory pool, e.g.,
+<a href="https://github.com/NVIDIA/cnmem">CnMem</a> to manage CUDA memory. With <em>Automatic
+recycling</em> and memory pool, SINGA can share the memory among tensors. Consider
+two operations <code>c = a + b</code> and <code>d=2xc</code>. Before executing the second operation,
+according to <em>Lazy allocation</em>, the memory of d should be allocated. Suppose <code>a</code>
+is not used in the rest operations. According to Automatic recycling, the block
+of <code>a</code> will be released after the first operation. Therefore, SINGA would submit
+four operations to the CUDA stream: addition, free <code>a</code>, malloc <code>b</code>, and
+multiplication. The memory pool is then able to share the memory released by <code>a</code>
+with <code>b</code> instead of ask the GPU to do real malloc for <code>b</code>.</p>
+<p>Other optimization techniques e.g., from compliers, such as common
+sub-expression elimination and parallelizing operations on different CUDA
+streams can also be applied.</p>
+<h2><a class="anchor" aria-hidden="true" id="new-operator"></a><a href="#new-operator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Each operator defined in <code>autograd</code> module implements two functions: forward and
+backward, which are implemented by calling the operators from the backend. To
+add a new operator in <code>autograd</code>, you need to add the multiple operators at the
+backend.</p>
+<p>Take the
+<a href="https://github.com/apache/singa/blob/master/python/singa/autograd.py">Conv2d</a>
+operator as an example, at the Python side, the forward and backward function
+are implemented by calling the operators from the backend depending on the
+device type.</p>
+<pre><code class="hljs css language-python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">_Conv2d</span><span class="hljs-params">(Operation)</span>:</span>
+
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x, W, b=None)</span>:</span>
+        ......
+        <span class="hljs-keyword">if</span> training:
+            <span class="hljs-keyword">if</span> self.handle.bias_term:
+                self.inputs = (x, W, b) <span class="hljs-comment"># record x, W, b</span>
+            <span class="hljs-keyword">else</span>:
+                self.inputs = (x, W)
+
+        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
+            <span class="hljs-keyword">return</span> singa.GpuConvForward(x, W, b, self.handle)
+        <span class="hljs-keyword">else</span>:
+            <span class="hljs-keyword">return</span> singa.CpuConvForward(x, W, b, self.handle)
+
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">backward</span><span class="hljs-params">(self, dy)</span>:</span>
+        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
+            dx = singa.GpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
+                                        self.handle)
+            dW = singa.GpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
+                                        self.handle)
+            db = singa.GpuConvBackwardb(
+                dy, self.inputs[<span class="hljs-number">2</span>],
+                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
+        <span class="hljs-keyword">else</span>:
+            dx = singa.CpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
+                                        self.handle)
+            dW = singa.CpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
+                                        self.handle)
+            db = singa.CpuConvBackwardb(
+                dy, self.inputs[<span class="hljs-number">2</span>],
+                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
+        <span class="hljs-keyword">if</span> db:
+            <span class="hljs-keyword">return</span> dx, dW, db
+        <span class="hljs-keyword">else</span>:
+            <span class="hljs-keyword">return</span> dx, dW
+</code></pre>
+<p>For each operator at the backend, it should be implemented in the following way:</p>
 <ul>
-<li><code>training</code>: whether to train the neural network defined in the class or for
-evaluation.</li>
-<li><code>graph_mode</code>: the model class defined by users can be trained using
-computational graph or not.</li>
-<li><code>sequential</code>: execute operations in graph serially or in the order of BFS.</li>
-</ul></li>
-<li>More examples:
+<li><p>Suppose the operator is <code>foo()</code>; its real implementation should be wrapped in
+another function e.g., <code>_foo()</code>. <code>foo()</code> passes <code>_foo</code> together with the
+arguments as a lambda function to <code>Device</code>'s <code>Exec</code> function for buffering.
+The blocks to be read and written are also passed to <code>Exec</code>.</p></li>
+<li><p>All arguments used in the lambda expression need to be captured according to
+the following rules.</p>
 <ul>
-<li><a href="https://github.com/apache/singa/blob/master/examples/autograd/mlp_module.py">MLP</a></li>
-<li><a href="https://github.com/apache/singa/blob/master/examples/autograd/cnn_module.py">CNN</a></li>
-<li><a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_module.py">ResNet</a></li>
+<li><p><code>capture by value</code>: If the argument variable is a local variable or will be
+immediately released (e.g. intermediate tensors). Otherwise, these variables
+will be destroyed once <code>foo()</code> exists.</p></li>
+<li><p><code>capture by reference</code>:If the variable is recorded on the python side or a
+persistent variable (e.g. parameter W and ConvHand in the Conv2d class).</p></li>
+<li><p><code>mutable</code>: The lambda expression should have the mutable tag if a variable
+captured by value is modified in <code>_foo()</code></p></li>
 </ul></li>
 </ul>
-<h2><a class="anchor" aria-hidden="true" id="experiments"></a><a href="#experiments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
+<p>Here is one
+<a href="https://github.com/apache/singa/blob/master/src/model/operation/convolution.cc">example</a>
+operator implemented at the backend.</p>
+<pre><code class="hljs css language-c++"><span class="hljs-function">Tensor <span class="hljs-title">GpuConvBackwardx</span><span class="hljs-params">(<span class="hljs-keyword">const</span> Tensor &amp;dy, <span class="hljs-keyword">const</span> Tensor &amp;W, <span class="hljs-keyword">const</span> Tensor &amp;x,
+                        <span class="hljs-keyword">const</span> CudnnConvHandle &amp;cch)</span> </span>{
+  CHECK_EQ(dy.device()-&gt;lang(), kCuda);
+
+  Tensor dx;
+  dx.ResetLike(x);
+
+  dy.device()-&gt;Exec(
+      <span class="hljs-comment">/*
+       * dx is a local variable so it's captured by value
+       * dy is an intermediate tensor and isn't recorded on the python side
+       * W is an intermediate tensor but it's recorded on the python side
+       * chh is a variable and it's recorded on the python side
+       */</span>
+      [dx, dy, &amp;W, &amp;cch](Context *ctx) <span class="hljs-keyword">mutable</span> {
+        Block *wblock = W.block(), *dyblock = dy.block(), *dxblock = dx.block();
+        <span class="hljs-keyword">float</span> alpha = <span class="hljs-number">1.f</span>, beta = <span class="hljs-number">0.f</span>;
+        cudnnConvolutionBackwardData(
+            ctx-&gt;cudnn_handle, &amp;alpha, cch.filter_desc, wblock-&gt;data(),
+            cch.y_desc, dyblock-&gt;data(), cch.conv_desc, cch.bp_data_alg,
+            cch.workspace.block()-&gt;mutable_data(),
+            cch.workspace_count * <span class="hljs-keyword">sizeof</span>(<span class="hljs-keyword">float</span>), &amp;beta, cch.x_desc,
+            dxblock-&gt;mutable_data());
+      },
+      {dy.block(), W.block()}, {dx.block(), cch.workspace.block()});
+      <span class="hljs-comment">/* the lambda expression reads the blocks of tensor dy and w
+       * and writes the blocks of tensor dx and chh.workspace
+       */</span>
+
+  <span class="hljs-keyword">return</span> dx;
+}
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="benchmark"></a><a href="#benchmark" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <h3><a class="anchor" aria-hidden="true" id="single-node"></a><a href="#single-node" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <ul>
 <li>Experiment settings
@@ -218,9 +330,9 @@ computational graph or not.</li>
 <li>Model
 <ul>
 <li>Using layer: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet.py">resnet.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/autograd/resnet_cifar10.py">resnet.py</a></li>
 <li>Using module: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_module.py">resnet_module.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/model/resnet.py">resnet.py</a></li>
 </ul></li>
 <li>GPU: NVIDIA RTX 2080Ti</li>
 </ul></li>
@@ -295,7 +407,7 @@ computational graph or not.</li>
           <td>1.0000</td>
       </tr>
       <tr>
-          <td nowrap>module:enable graph</td>
+          <td nowrap>module:disable graph</td>
           <td>10109</td>
           <td>13.2952</td>
           <td>7.5315</td>
@@ -331,9 +443,9 @@ computational graph or not.</li>
 <li>Model
 <ul>
 <li>using Layer: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_dist.py">resnet_dist.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/autograd/resnet_dist.py">resnet_dist.py</a></li>
 <li>using Module: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_module.py">resnet_module.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/model/resnet.py">resnet.py</a></li>
 </ul></li>
 <li>GPU: NVIDIA RTX 2080Ti * 2</li>
 <li>MPI: two MPI processes on one node</li>
@@ -430,200 +542,12 @@ computational graph or not.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="conclusion"></a><a href="#conclusion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <ul>
-<li>Computational graph does not affect training time and memory usage if the
-graph is disabled.</li>
-<li>Computational graph can significantly reduce memory usage and training time.</li>
-</ul>
-<h2><a class="anchor" aria-hidden="true" id="implementation"></a><a href="#implementation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<h3><a class="anchor" aria-hidden="true" id="computational-graph-construction"></a><a href="#computational-graph-construction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
-<ul>
-<li><p><code>Buffer the operations</code>: Use the technique of delayed execution to falsely
-perform operations in the forward propagation and backward propagation once.
-Buffer all the operations and the tensors read or written by each operation.
-Take matmul for example.</p>
-<pre><code class="hljs css language-python"><span class="hljs-comment"># user calls an api to do matmul on two tensors</span>
-x = autograd.matmul(inputs, w0)
-
-<span class="hljs-comment"># Python code inside the api</span>
-singa.Mult(inputs, w)
-</code></pre>
-<pre><code class="hljs css language-c++"><span class="hljs-comment">// the backend platform</span>
-<span class="hljs-comment">// pass the specific execution function of the operation</span>
-<span class="hljs-comment">// and the tensors it will reads and writes during the calculation to the device.</span>
-C-&gt;device()-&gt;Exec(
-    [a, A, b, B, CRef](Context *ctx) <span class="hljs-keyword">mutable</span> {
-        GEMV&lt;DType, Lang&gt;(a, A, B, b, &amp;CRef, ctx);
-    },
-    read_blocks, {C-&gt;block()});
-</code></pre></li>
-<li><p><code>Build nodes and edges</code>: Build the nodes and edges of the operations passed to
-the device and add them into the computational graph. Since we just told the
-scheduler which blocks these operations will read and write and some of the
-tensors will share the same blocks, the scheduler will split one edge into
-multiple to ensure that the constructed graph is a directed acyclic graph.</p></li>
-<li><p><code>Analyze the graph</code>: Calculate dependencies between all the operations to
-decide the order of execution. The system will only analyze the same graph
-once. If new operations are added to the graph, the calculation graph will be
-re-analyzed.</p></li>
-<li><p><code>Run graph</code>: Execute all the operations in the order we just calculated to
-update all the parameters. Tensors are well scheduled to allocate and
-deallocate to save memory. After the analyzing, the operations in the graph
-can be executed based on the result of analyzing.</p></li>
-<li><p><code>Module</code>: Provided a module class on the Python side for users to use this
-feature more conveniently.</p></li>
-</ul>
-<h3><a class="anchor" aria-hidden="true" id="lazy-allocation"></a><a href="#lazy-allocation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<ul>
-<li>When a device needs to create a new block, pass the device to that block only,
-instead of allocating a piece of memory from the mempool and passing the
-pointer to that block.</li>
-<li>When a block is accessed for the first time, the device corresponding to the
-block allocates memory and then access it.</li>
-</ul>
-<h3><a class="anchor" aria-hidden="true" id="automatic-recycling"></a><a href="#automatic-recycling" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<ul>
-<li>When calculating dependencies between the operations during graph
-construction, the reference count of tensors can also be calculated.</li>
-<li>When an operation is completed, the schedualer decrease the reference count of
-tensors that the operation used.</li>
-<li>If a tensor's reference count reaches zero, it means the tensor won't be
-accessed by latter operations, so we can recycle its memory.</li>
-<li>The program will track the usage of the block. If a block is used on the
-python side, it will not be recycled, which is convenient for debugging on the
-python side.</li>
-</ul>
-<h3><a class="anchor" aria-hidden="true" id="shared-memory"></a><a href="#shared-memory" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<ul>
-<li>Once the kernel function of an operation is added into the default cuda stream
-and the tensors used by the operation can be freed when the calculation is
-complete, the scheduler will free these tensors' memory immediately and no
-need to wait for the calculation to complete. Because subsequent operations
-will not be performed at the same time as the current operation as the
-platform now used the default stream of CUDA to finish the calculation. So the
-following tensors can share the same memory with these tensors.</li>
-<li>Use a mempool to manage the GPU memory. Scheduler returns the memory used by
-tensors to the mempool and the latter tensors will apply for memory from
-mempool. The mempool will find the most suitable blocks returned by the
-previous tensors for the latter tensors to share as much memory as possible.</li>
-</ul>
-<h2><a class="anchor" aria-hidden="true" id="how-to-add-a-new-operation"></a><a href="#how-to-add-a-new-operation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
-<p>For new operations to be included in the computational graph, they should be
-submitted to the device. Device class on the CPP side will add these operations
-in the computational graph and the scheduler will schedule them automatically.</p>
-<h4><a class="anchor" aria-hidden="true" id="requirements"></a><a href="#requirements" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>When submitting operations, there are some requirements.</p>
-<ul>
-<li><p>Need to pass in the function that the operation executes and the data blocks
-that the operation reads and writes</p></li>
-<li><p>For the function of the operation: All variables used in lambda expressions
-need to be captured according to the following rules.</p>
-<ul>
-<li><p><code>capture by value</code>: If the variable is a local variable or will be
-immediately released (e.g. intermediate tensors). If not captured by value,
-these variables will be destroyed after buffering. Buffering is just a way
-to defer real calculations.</p></li>
-<li><p><code>capture by reference</code>:If the variable is recorded on the python side or a
-global variable (e.g. The parameter W and ConvHand in the Conv2d class).</p></li>
-<li><p><code>mutable</code>: The lambda expression should have mutable tag if a variable
-captured by value is modified in an expression</p></li>
-</ul></li>
-</ul>
-<h4><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<ul>
-<li>Python side:
-<a href="https://github.com/apache/singa/blob/dev/python/singa/autograd.py#L1191">_Conv2d</a>
-records x, W, b and handle in the class.</li>
-</ul>
-<pre><code class="hljs css language-python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">_Conv2d</span><span class="hljs-params">(Operation)</span>:</span>
-
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, handle, odd_padding=<span class="hljs-params">(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>)</span>)</span>:</span>
-        super(_Conv2d, self).__init__()
-        self.handle = handle  <span class="hljs-comment"># record handle</span>
-        self.odd_padding = odd_padding
-        <span class="hljs-keyword">if</span> self.odd_padding != (<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>):
-            self.re_new_handle = <span class="hljs-literal">True</span>
-
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x, W, b=None)</span>:</span>
-        <span class="hljs-comment"># other code</span>
-        <span class="hljs-comment"># ......</span>
-
-        <span class="hljs-keyword">if</span> training:
-            <span class="hljs-keyword">if</span> self.handle.bias_term:
-                self.inputs = (x, W, b) <span class="hljs-comment"># record x, W, b</span>
-            <span class="hljs-keyword">else</span>:
-                self.inputs = (x, W)
-
-        <span class="hljs-comment"># other code</span>
-        <span class="hljs-comment"># ......</span>
-
-        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
-            <span class="hljs-keyword">return</span> singa.GpuConvForward(x, W, b, self.handle)
-        <span class="hljs-keyword">else</span>:
-            <span class="hljs-keyword">return</span> singa.CpuConvForward(x, W, b, self.handle)
-
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">backward</span><span class="hljs-params">(self, dy)</span>:</span>
-        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
-            dx = singa.GpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
-                                        self.handle)
-            dW = singa.GpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
-                                        self.handle)
-            db = singa.GpuConvBackwardb(
-                dy, self.inputs[<span class="hljs-number">2</span>],
-                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
-        <span class="hljs-keyword">else</span>:
-            dx = singa.CpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
-                                        self.handle)
-            dW = singa.CpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
-                                        self.handle)
-            db = singa.CpuConvBackwardb(
-                dy, self.inputs[<span class="hljs-number">2</span>],
-                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
-        <span class="hljs-keyword">if</span> self.odd_padding != (<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>):
-            dx = utils.handle_odd_pad_bwd(dx, self.odd_padding)
-
-        <span class="hljs-keyword">if</span> db:
-            <span class="hljs-keyword">return</span> dx, dW, db
-
-        <span class="hljs-keyword">else</span>:
-            <span class="hljs-keyword">return</span> dx, dW
-</code></pre>
-<ul>
-<li>C++ side:
-<a href="https://github.com/apache/singa/blob/dev/src/model/operation/convolution.cc">convolution.cc</a></li>
+<li>Training with the computational graph enabled can significantly reduce the
+memory footprint.</li>
+<li>Currently, there is a little improvement in terms of speed. More optimizations
+can be done towards the efficiency.</li>
 </ul>
-<pre><code class="hljs css language-c++"><span class="hljs-function">Tensor <span class="hljs-title">GpuConvBackwardx</span><span class="hljs-params">(<span class="hljs-keyword">const</span> Tensor &amp;dy, <span class="hljs-keyword">const</span> Tensor &amp;W, <span class="hljs-keyword">const</span> Tensor &amp;x,
-                        <span class="hljs-keyword">const</span> CudnnConvHandle &amp;cch)</span> </span>{
-  CHECK_EQ(dy.device()-&gt;lang(), kCuda);
-
-  Tensor dx;
-  dx.ResetLike(x);
-
-  dy.device()-&gt;Exec(
-      <span class="hljs-comment">/*
-       * dx is a local variable so it's captured by value
-       * dy is an intermediate tensor and isn't recorded on the python side
-       * W is an intermediate tensor but it's recorded on the python side
-       * chh is a variable and it's recorded on the python side
-       */</span>
-      [dx, dy, &amp;W, &amp;cch](Context *ctx) <span class="hljs-keyword">mutable</span> {
-        Block *wblock = W.block(), *dyblock = dy.block(), *dxblock = dx.block();
-        <span class="hljs-keyword">float</span> alpha = <span class="hljs-number">1.f</span>, beta = <span class="hljs-number">0.f</span>;
-        cudnnConvolutionBackwardData(
-            ctx-&gt;cudnn_handle, &amp;alpha, cch.filter_desc, wblock-&gt;data(),
-            cch.y_desc, dyblock-&gt;data(), cch.conv_desc, cch.bp_data_alg,
-            cch.workspace.block()-&gt;mutable_data(),
-            cch.workspace_count * <span class="hljs-keyword">sizeof</span>(<span class="hljs-keyword">float</span>), &amp;beta, cch.x_desc,
-            dxblock-&gt;mutable_data());
-      },
-      {dy.block(), W.block()}, {dx.block(), cch.workspace.block()});
-      <span class="hljs-comment">/* the lambda expression reads the blocks of tensor dy and w
-       * and writes the blocks of tensor dx and chh.workspace
-       */</span>
-
-  <span class="hljs-keyword">return</span> dx;
-}
-</code></pre>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/autograd"><span class="arrow-prev">← </span><span>Autograd</span></a><a class="docs-next button" href="/docs/dist-train"><span>Distributed Training</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#about-computational-graph">About Computational Graph</a><u [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/13/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/autograd"><span class="arrow-prev">← </span><span>Autograd</span></a><a class="docs-next button" href="/docs/onnx"><span>ONNX</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example">Example</a></li><li><a href="#implementation">Implementation</a><ul cl [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/graph/index.html b/content/docs/graph/index.html
index 0562c22..675df60 100644
--- a/content/docs/graph/index.html
+++ b/content/docs/graph/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Computational Graph · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyri [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Computational Graph · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyri [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -61,87 +61,26 @@
               }
             });
         </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/graph.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Computational Graph</h1></header><article><div><span><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor l [...]
-<p>SINGA can buffering operations to create a computational graph (CG). With the
-computational graph, SINGA can schedule the execution of operations as well as
-the memory allocation and release. It makes training more efficient while using
-less memory.</p>
-<h2><a class="anchor" aria-hidden="true" id="about-computational-graph"></a><a href="#about-computational-graph" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
-<h3><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>Computational graph is used to represent networks of the flow of computation. It
-is composed of many nodes and edges, where nodes represent various operations
-and edges represent data. In deep neural networks, nodes are tensor-based
-operations such as convolution and edges are tensors.</p>
-<p>The entire neural network is equivalent to a computational graph, all neural
-networks can correspond to a calculation graph. By representing the neural
-network as a calculation graph, some optimizations for neural networks can be
-performed on the calculation graph.</p>
-<h3><a class="anchor" aria-hidden="true" id="pipeline"></a><a href="#pipeline" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>The whole process of using the calculational graph to represent the model and
-execute the graph consists of roughly four steps. The whole process is actually
-similar to compiling. We first describe the program with code, then translate
-the program into intermediate code, then optimize the intermediate code and
-finally come up with many ways to efficiently execute the code. In neural
-networks, the intermediate code is the calculation graph. We can optimize
-through techniques like common sub-expression elimination. When the computer
-executes the compiled binary file, it can be efficiently executed by using
-multi-thread technology, and the same as the execution of the calculation graph.
-Therefore, some ideas of compilation principles can also be used in the
-optimization of calculation graphs.</p>
-<ul>
-<li><p>Write the python code for the model.</p></li>
-<li><p>Construct the computational graph based on the python code.</p></li>
-<li><p>Optimize the computational graph.</p></li>
-<li><p>Execute the computational graph efficiently.</p></li>
-</ul>
-<p>Figure 1 shows a simple example of going through the entire process.</p>
-<p><img src="assets/GraphPipeline.png" alt="The pipeline of using computational graph" style="zoom:40%;" /></p>
-<p><br/><strong>Figure 1 - The pipeline of using computational graph</strong></p>
-<h3><a class="anchor" aria-hidden="true" id="an-example-of-mlp"></a><a href="#an-example-of-mlp" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>A simple MLP model can be constructed on the Python side by using some APIs of
-SINGA.</p>
-<pre><code class="hljs css language-python">x = autograd.matmul(inputs, w0)
-x = autograd.add_bias(x, b0)
-x = autograd.relu(x)
-x = autograd.matmul(x, w1)
-x = autograd.add_bias(x, b1)
-loss = autograd.softmax_cross_entropy(x, target)
-sgd.backward_and_update(loss)
-</code></pre>
-<p>When the model is defined, there is actually a calculation graph corresponding
-to it. This calculation graph contains the calculations that the entire SINGA
-will perform. Figure 2 shows the computational graph corresponding to the MLP
-model defined above.</p>
-<p><img src="/docs/assets/GraphOfMLP.png" alt="The computational graph of MLP"></p>
-<p><br/><strong>Figure 2 - The computational graph of MLP</strong></p>
-<h2><a class="anchor" aria-hidden="true" id="features"></a><a href="#features" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>There are four main components of a computational graph in SINGA, namely (i)
-Computational graph construction, (ii) Lazy allocation, (iii) Automatic
-recycling, (iv) Shared memory. Details are as follows:</p>
-<ul>
-<li><code>Computational graph construction</code>: Construct a computational graph based on
-the mathematical or deep learning operations, and then run the graph to
-accomplish the training task. The computational graph also includes operations
-like communicator.synch and communicator.fusedSynch for the distributed
-training.</li>
-<li><code>Lazy allocation</code>: When blocks are allocated, devices do not allocate memory
-for them immediately. Devices do memory allocation only when an operation uses
-this block for the first time.</li>
-<li><code>Automatic recycling</code>: When we are running a graph in an iteration, it
-automatically deallocates the intermediate tensors which won't be used again
-in the remaining operations.</li>
-<li><code>Shared memory</code>: When two operations will never be performed at the same time,
-the result tensors produced by them can share a piece of memory.</li>
-</ul>
-<h2><a class="anchor" aria-hidden="true" id="how-to-use"></a><a href="#how-to-use" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<ul>
-<li>A CNN example.</li>
-</ul>
-<pre><code class="hljs css language-Python">
-<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CNN</span><span class="hljs-params">(module.Module)</span>:</span>
+<p>The forward and backward propagation in a neural network can be represented
+using a set of operations such as convolution and pooling. Each operation takes
+some input <a href="./tensor">tensors</a> and applies an <a href="./autograd">operator</a> to generate
+output tensors. By representing each operator as a node and each tensor as an
+edge, all operations form a computational graph. With the computational graph,
+speed and memory optimization can be conducted by scheduling the execution of
+the operations and memory allocation/release intelligently. In SINGA, users only
+need to define the neural network model using the
+<a href="https://github.com/apache/singa/blob/master/python/singa/module.py">Module</a>
+API. The graph is constructed and optimized at the C++ backend automatically.</p>
+<h2><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>The following code illustrates the usage of the <code>Module</code> API.</p>
+<ol>
+<li>Implement the new model as a subclass the Module class.</li>
+</ol>
+<pre><code class="hljs css language-Python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CNN</span><span class="hljs-params">(module.Module)</span>:</span>
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, optimizer)</span>:</span>
         super(CNN, self).__init__()
-
+        <span class="hljs-comment"># define layers</span>
         self.conv1 = autograd.Conv2d(<span class="hljs-number">1</span>, <span class="hljs-number">20</span>, <span class="hljs-number">5</span>, padding=<span class="hljs-number">0</span>)
         self.conv2 = autograd.Conv2d(<span class="hljs-number">20</span>, <span class="hljs-number">50</span>, <span class="hljs-number">5</span>, padding=<span class="hljs-number">0</span>)
         self.linear1 = autograd.Linear(<span class="hljs-number">4</span> * <span class="hljs-number">4</span> * <span class="hljs-number">50</span>, <span class="hljs-number">500</span>)
@@ -152,6 +91,7 @@ the result tensors produced by them can share a piece of memory.</li>
         self.optimizer = optimizer
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x)</span>:</span>
+        <span class="hljs-comment"># define the forward operations</span>
         y = self.conv1(x)
         y = autograd.relu(y)
         y = self.pooling1(y)
@@ -165,52 +105,224 @@ the result tensors produced by them can share a piece of memory.</li>
         <span class="hljs-keyword">return</span> y
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">loss</span><span class="hljs-params">(self, x, ty)</span>:</span>
+        <span class="hljs-comment"># define the training loss</span>
         <span class="hljs-keyword">return</span> autograd.softmax_cross_entropy(x, ty)
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">optim</span><span class="hljs-params">(self, loss)</span>:</span>
+        <span class="hljs-comment"># update the parameters using SGD algorithms</span>
         self.optimizer.backward_and_update(loss)
-
-<span class="hljs-comment"># initialization other objects</span>
-<span class="hljs-comment"># ......</span>
-model = CNN(sgd)
-model.train()
+</code></pre>
+<ol start="2">
+<li>Create an instance of the model, and do some configurations</li>
+</ol>
+<pre><code class="hljs css language-python">model = CNN(sgd)
+<span class="hljs-comment"># set the mode of running the operations:</span>
+<span class="hljs-comment"># True for training; False for evaluation</span>
+model.train(mode=<span class="hljs-literal">True</span>)
+<span class="hljs-comment"># set the device for running the operations</span>
 model.on_device(dev)
-model.graph(graph, sequential)
-
-<span class="hljs-comment"># Train</span>
-<span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> range(num_train_batch):
-    <span class="hljs-comment"># Generate the patch data in this iteration</span>
-    <span class="hljs-comment"># ......</span>
+<span class="hljs-comment"># whether to create the graph or run the operations imperatively</span>
+model.graph(mode=<span class="hljs-literal">True</span>)
+</code></pre>
+<ol start="3">
+<li>Train the model iteratively</li>
+</ol>
+<pre><code class="hljs css language-python"><span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> range(num_train_batch):
+    <span class="hljs-comment"># generate the next mini-batch</span>
+    x, y = ...
 
-    <span class="hljs-comment"># Copy the patch data into input tensors</span>
+    <span class="hljs-comment"># Copy the data into input tensors</span>
     tx.copy_from_numpy(x)
     ty.copy_from_numpy(y)
 
-    <span class="hljs-comment"># Train the model</span>
+    <span class="hljs-comment"># run forward propagation</span>
     out = model(tx)
     loss = model.loss(out, ty)
+    <span class="hljs-comment"># run backward propagation</span>
     model.optim(loss)
 </code></pre>
 <p>A Google Colab notebook of this example is available
 <a href="https://colab.research.google.com/drive/1fbGUs1AsoX6bU5F745RwQpohP4bHTktq">here</a>.</p>
+<p>More examples:</p>
 <ul>
-<li>Some settings:
-<a href="https://github.com/apache/singa/blob/master/python/singa/module.py">module.py</a>
+<li><a href="https://github.com/apache/singa/blob/master/examples/mlp/module.py">MLP</a></li>
+<li><a href="https://github.com/apache/singa/blob/master/examples/cnn/model/cnn.py">CNN</a></li>
+<li><a href="https://github.com/apache/singa/blob/master/examples/cnn/model/resnet.py">ResNet</a></li>
+</ul>
+<h2><a class="anchor" aria-hidden="true" id="implementation"></a><a href="#implementation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<h3><a class="anchor" aria-hidden="true" id="graph-construction"></a><a href="#graph-construction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<p>SINGA constructs the computational graph in three steps:</p>
+<ol>
+<li>buffer the operations</li>
+<li>analyze the dependencies operations</li>
+<li>create the nodes and edges based on the dependencies</li>
+</ol>
+<p>Take the matrix multiplication operation from the dense layer of a
+<a href="https://github.com/apache/singa/blob/master/examples/mlp/module.py">MLP model</a>
+as an example. The operation is called in the <code>forward</code> function of the MLP
+class</p>
+<pre><code class="hljs css language-python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MLP</span><span class="hljs-params">(module.Module)</span>:</span>
+
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, inputs)</span>:</span>
+        x = autograd.matmul(inputs, self.w0)
+        ...
+</code></pre>
+<p><code>autograd</code> implements the <code>matmul</code> operator by calling the function <code>Mult</code>
+exposed from CPP via SWIG.</p>
+<pre><code class="hljs css language-python"><span class="hljs-comment"># implementation of matmul()</span>
+singa.Mult(inputs, w)
+</code></pre>
+<p>At the backend, the <code>Mult</code> function is implemented by calling <code>GEMV</code> a CBLAS
+function. Instead of calling <code>GEMV</code> directly, <code>Mult</code> submits <code>GEMV</code> and the
+arguments to the device as follows,</p>
+<pre><code class="hljs css language-c++"><span class="hljs-comment">// implementation of Mult()</span>
+C-&gt;device()-&gt;Exec(
+    [a, A, b, B, CRef](Context *ctx) <span class="hljs-keyword">mutable</span> {
+        GEMV&lt;DType, Lang&gt;(a, A, B, b, &amp;CRef, ctx);
+    },
+    read_blocks, {C-&gt;block()});
+</code></pre>
+<p>The <code>Exec</code> function of <code>Device</code> buffers the function and its arguments. In
+addition, it also has the information about the blocks (a block is a chunk of
+memory for a tensor) to be read and written by this function.</p>
+<p>Once <code>Module.forward()</code> has been executed once, all operations are buffered by
+<code>Device</code>. Next, the read/write information of all operations are analyzed to
+create the computational graph. For example, if a block <code>b</code> is written by one
+operation O1 and is later read by another operation O2, we would know O2 depends
+on O1 and there is a directed edge from A to B, which represents block <code>b</code> (or
+its tensor). After that a directed acyclic graph is constructed as shown below.
+The graph is constructed once.</p>
+<p><img src="/docs/assets/GraphOfMLP.png" alt="The computational graph of MLP"></p>
+<p><br/><strong>Figure 1 - The computational graph of the MLP example.</strong></p>
+<h3><a class="anchor" aria-hidden="true" id="optimization"></a><a href="#optimization" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Currently, the following optimizations are done based on the computational
+graph.</p>
+<p><strong>Lazy allocation</strong> When tensor/blocks are created, devices do not allocate
+memory for them immediately. Instead, when the block is accessed for the first
+time, the memory is allocated.</p>
+<p><strong>Automatic recycling</strong> The reference count of each tensor/block is calculated
+based on the graph. Before executing the operations, the reference count is the
+number of operations that read this block. During the execution, once an
+operation is executed, the reference count of the every input block is decreased
+by 1. If one block's reference count reaches 0, it means that this block will
+not be read again in the remaining operations. Therefore, its memory can be
+released safely. In addition, SINGA tracks the usage of the block outside of the
+graph. If a block is used by Python code (not by autograd operators), it will
+not be recycled.</p>
+<p><strong>Memory sharing</strong> SINGA uses memory pool, e.g.,
+<a href="https://github.com/NVIDIA/cnmem">CnMem</a> to manage CUDA memory. With <em>Automatic
+recycling</em> and memory pool, SINGA can share the memory among tensors. Consider
+two operations <code>c = a + b</code> and <code>d=2xc</code>. Before executing the second operation,
+according to <em>Lazy allocation</em>, the memory of d should be allocated. Suppose <code>a</code>
+is not used in the rest operations. According to Automatic recycling, the block
+of <code>a</code> will be released after the first operation. Therefore, SINGA would submit
+four operations to the CUDA stream: addition, free <code>a</code>, malloc <code>b</code>, and
+multiplication. The memory pool is then able to share the memory released by <code>a</code>
+with <code>b</code> instead of ask the GPU to do real malloc for <code>b</code>.</p>
+<p>Other optimization techniques e.g., from compliers, such as common
+sub-expression elimination and parallelizing operations on different CUDA
+streams can also be applied.</p>
+<h2><a class="anchor" aria-hidden="true" id="new-operator"></a><a href="#new-operator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Each operator defined in <code>autograd</code> module implements two functions: forward and
+backward, which are implemented by calling the operators from the backend. To
+add a new operator in <code>autograd</code>, you need to add the multiple operators at the
+backend.</p>
+<p>Take the
+<a href="https://github.com/apache/singa/blob/master/python/singa/autograd.py">Conv2d</a>
+operator as an example, at the Python side, the forward and backward function
+are implemented by calling the operators from the backend depending on the
+device type.</p>
+<pre><code class="hljs css language-python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">_Conv2d</span><span class="hljs-params">(Operation)</span>:</span>
+
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x, W, b=None)</span>:</span>
+        ......
+        <span class="hljs-keyword">if</span> training:
+            <span class="hljs-keyword">if</span> self.handle.bias_term:
+                self.inputs = (x, W, b) <span class="hljs-comment"># record x, W, b</span>
+            <span class="hljs-keyword">else</span>:
+                self.inputs = (x, W)
+
+        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
+            <span class="hljs-keyword">return</span> singa.GpuConvForward(x, W, b, self.handle)
+        <span class="hljs-keyword">else</span>:
+            <span class="hljs-keyword">return</span> singa.CpuConvForward(x, W, b, self.handle)
+
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">backward</span><span class="hljs-params">(self, dy)</span>:</span>
+        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
+            dx = singa.GpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
+                                        self.handle)
+            dW = singa.GpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
+                                        self.handle)
+            db = singa.GpuConvBackwardb(
+                dy, self.inputs[<span class="hljs-number">2</span>],
+                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
+        <span class="hljs-keyword">else</span>:
+            dx = singa.CpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
+                                        self.handle)
+            dW = singa.CpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
+                                        self.handle)
+            db = singa.CpuConvBackwardb(
+                dy, self.inputs[<span class="hljs-number">2</span>],
+                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
+        <span class="hljs-keyword">if</span> db:
+            <span class="hljs-keyword">return</span> dx, dW, db
+        <span class="hljs-keyword">else</span>:
+            <span class="hljs-keyword">return</span> dx, dW
+</code></pre>
+<p>For each operator at the backend, it should be implemented in the following way:</p>
 <ul>
-<li><code>training</code>: whether to train the neural network defined in the class or for
-evaluation.</li>
-<li><code>graph_mode</code>: the model class defined by users can be trained using
-computational graph or not.</li>
-<li><code>sequential</code>: execute operations in graph serially or in the order of BFS.</li>
-</ul></li>
-<li>More examples:
+<li><p>Suppose the operator is <code>foo()</code>; its real implementation should be wrapped in
+another function e.g., <code>_foo()</code>. <code>foo()</code> passes <code>_foo</code> together with the
+arguments as a lambda function to <code>Device</code>'s <code>Exec</code> function for buffering.
+The blocks to be read and written are also passed to <code>Exec</code>.</p></li>
+<li><p>All arguments used in the lambda expression need to be captured according to
+the following rules.</p>
 <ul>
-<li><a href="https://github.com/apache/singa/blob/master/examples/autograd/mlp_module.py">MLP</a></li>
-<li><a href="https://github.com/apache/singa/blob/master/examples/autograd/cnn_module.py">CNN</a></li>
-<li><a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_module.py">ResNet</a></li>
+<li><p><code>capture by value</code>: If the argument variable is a local variable or will be
+immediately released (e.g. intermediate tensors). Otherwise, these variables
+will be destroyed once <code>foo()</code> exists.</p></li>
+<li><p><code>capture by reference</code>:If the variable is recorded on the python side or a
+persistent variable (e.g. parameter W and ConvHand in the Conv2d class).</p></li>
+<li><p><code>mutable</code>: The lambda expression should have the mutable tag if a variable
+captured by value is modified in <code>_foo()</code></p></li>
 </ul></li>
 </ul>
-<h2><a class="anchor" aria-hidden="true" id="experiments"></a><a href="#experiments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
+<p>Here is one
+<a href="https://github.com/apache/singa/blob/master/src/model/operation/convolution.cc">example</a>
+operator implemented at the backend.</p>
+<pre><code class="hljs css language-c++"><span class="hljs-function">Tensor <span class="hljs-title">GpuConvBackwardx</span><span class="hljs-params">(<span class="hljs-keyword">const</span> Tensor &amp;dy, <span class="hljs-keyword">const</span> Tensor &amp;W, <span class="hljs-keyword">const</span> Tensor &amp;x,
+                        <span class="hljs-keyword">const</span> CudnnConvHandle &amp;cch)</span> </span>{
+  CHECK_EQ(dy.device()-&gt;lang(), kCuda);
+
+  Tensor dx;
+  dx.ResetLike(x);
+
+  dy.device()-&gt;Exec(
+      <span class="hljs-comment">/*
+       * dx is a local variable so it's captured by value
+       * dy is an intermediate tensor and isn't recorded on the python side
+       * W is an intermediate tensor but it's recorded on the python side
+       * chh is a variable and it's recorded on the python side
+       */</span>
+      [dx, dy, &amp;W, &amp;cch](Context *ctx) <span class="hljs-keyword">mutable</span> {
+        Block *wblock = W.block(), *dyblock = dy.block(), *dxblock = dx.block();
+        <span class="hljs-keyword">float</span> alpha = <span class="hljs-number">1.f</span>, beta = <span class="hljs-number">0.f</span>;
+        cudnnConvolutionBackwardData(
+            ctx-&gt;cudnn_handle, &amp;alpha, cch.filter_desc, wblock-&gt;data(),
+            cch.y_desc, dyblock-&gt;data(), cch.conv_desc, cch.bp_data_alg,
+            cch.workspace.block()-&gt;mutable_data(),
+            cch.workspace_count * <span class="hljs-keyword">sizeof</span>(<span class="hljs-keyword">float</span>), &amp;beta, cch.x_desc,
+            dxblock-&gt;mutable_data());
+      },
+      {dy.block(), W.block()}, {dx.block(), cch.workspace.block()});
+      <span class="hljs-comment">/* the lambda expression reads the blocks of tensor dy and w
+       * and writes the blocks of tensor dx and chh.workspace
+       */</span>
+
+  <span class="hljs-keyword">return</span> dx;
+}
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="benchmark"></a><a href="#benchmark" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <h3><a class="anchor" aria-hidden="true" id="single-node"></a><a href="#single-node" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <ul>
 <li>Experiment settings
@@ -218,9 +330,9 @@ computational graph or not.</li>
 <li>Model
 <ul>
 <li>Using layer: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet.py">resnet.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/autograd/resnet_cifar10.py">resnet.py</a></li>
 <li>Using module: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_module.py">resnet_module.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/model/resnet.py">resnet.py</a></li>
 </ul></li>
 <li>GPU: NVIDIA RTX 2080Ti</li>
 </ul></li>
@@ -295,7 +407,7 @@ computational graph or not.</li>
           <td>1.0000</td>
       </tr>
       <tr>
-          <td nowrap>module:enable graph</td>
+          <td nowrap>module:disable graph</td>
           <td>10109</td>
           <td>13.2952</td>
           <td>7.5315</td>
@@ -331,9 +443,9 @@ computational graph or not.</li>
 <li>Model
 <ul>
 <li>using Layer: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_dist.py">resnet_dist.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/autograd/resnet_dist.py">resnet_dist.py</a></li>
 <li>using Module: ResNet50 in
-<a href="https://github.com/apache/singa/blob/master/examples/autograd/resnet_module.py">resnet_module.py</a></li>
+<a href="https://github.com/apache/singa/blob/master/examples/cnn/model/resnet.py">resnet.py</a></li>
 </ul></li>
 <li>GPU: NVIDIA RTX 2080Ti * 2</li>
 <li>MPI: two MPI processes on one node</li>
@@ -430,200 +542,12 @@ computational graph or not.</li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="conclusion"></a><a href="#conclusion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <ul>
-<li>Computational graph does not affect training time and memory usage if the
-graph is disabled.</li>
-<li>Computational graph can significantly reduce memory usage and training time.</li>
-</ul>
-<h2><a class="anchor" aria-hidden="true" id="implementation"></a><a href="#implementation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<h3><a class="anchor" aria-hidden="true" id="computational-graph-construction"></a><a href="#computational-graph-construction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
-<ul>
-<li><p><code>Buffer the operations</code>: Use the technique of delayed execution to falsely
-perform operations in the forward propagation and backward propagation once.
-Buffer all the operations and the tensors read or written by each operation.
-Take matmul for example.</p>
-<pre><code class="hljs css language-python"><span class="hljs-comment"># user calls an api to do matmul on two tensors</span>
-x = autograd.matmul(inputs, w0)
-
-<span class="hljs-comment"># Python code inside the api</span>
-singa.Mult(inputs, w)
-</code></pre>
-<pre><code class="hljs css language-c++"><span class="hljs-comment">// the backend platform</span>
-<span class="hljs-comment">// pass the specific execution function of the operation</span>
-<span class="hljs-comment">// and the tensors it will reads and writes during the calculation to the device.</span>
-C-&gt;device()-&gt;Exec(
-    [a, A, b, B, CRef](Context *ctx) <span class="hljs-keyword">mutable</span> {
-        GEMV&lt;DType, Lang&gt;(a, A, B, b, &amp;CRef, ctx);
-    },
-    read_blocks, {C-&gt;block()});
-</code></pre></li>
-<li><p><code>Build nodes and edges</code>: Build the nodes and edges of the operations passed to
-the device and add them into the computational graph. Since we just told the
-scheduler which blocks these operations will read and write and some of the
-tensors will share the same blocks, the scheduler will split one edge into
-multiple to ensure that the constructed graph is a directed acyclic graph.</p></li>
-<li><p><code>Analyze the graph</code>: Calculate dependencies between all the operations to
-decide the order of execution. The system will only analyze the same graph
-once. If new operations are added to the graph, the calculation graph will be
-re-analyzed.</p></li>
-<li><p><code>Run graph</code>: Execute all the operations in the order we just calculated to
-update all the parameters. Tensors are well scheduled to allocate and
-deallocate to save memory. After the analyzing, the operations in the graph
-can be executed based on the result of analyzing.</p></li>
-<li><p><code>Module</code>: Provided a module class on the Python side for users to use this
-feature more conveniently.</p></li>
-</ul>
-<h3><a class="anchor" aria-hidden="true" id="lazy-allocation"></a><a href="#lazy-allocation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<ul>
-<li>When a device needs to create a new block, pass the device to that block only,
-instead of allocating a piece of memory from the mempool and passing the
-pointer to that block.</li>
-<li>When a block is accessed for the first time, the device corresponding to the
-block allocates memory and then access it.</li>
-</ul>
-<h3><a class="anchor" aria-hidden="true" id="automatic-recycling"></a><a href="#automatic-recycling" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<ul>
-<li>When calculating dependencies between the operations during graph
-construction, the reference count of tensors can also be calculated.</li>
-<li>When an operation is completed, the schedualer decrease the reference count of
-tensors that the operation used.</li>
-<li>If a tensor's reference count reaches zero, it means the tensor won't be
-accessed by latter operations, so we can recycle its memory.</li>
-<li>The program will track the usage of the block. If a block is used on the
-python side, it will not be recycled, which is convenient for debugging on the
-python side.</li>
-</ul>
-<h3><a class="anchor" aria-hidden="true" id="shared-memory"></a><a href="#shared-memory" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<ul>
-<li>Once the kernel function of an operation is added into the default cuda stream
-and the tensors used by the operation can be freed when the calculation is
-complete, the scheduler will free these tensors' memory immediately and no
-need to wait for the calculation to complete. Because subsequent operations
-will not be performed at the same time as the current operation as the
-platform now used the default stream of CUDA to finish the calculation. So the
-following tensors can share the same memory with these tensors.</li>
-<li>Use a mempool to manage the GPU memory. Scheduler returns the memory used by
-tensors to the mempool and the latter tensors will apply for memory from
-mempool. The mempool will find the most suitable blocks returned by the
-previous tensors for the latter tensors to share as much memory as possible.</li>
-</ul>
-<h2><a class="anchor" aria-hidden="true" id="how-to-add-a-new-operation"></a><a href="#how-to-add-a-new-operation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
-<p>For new operations to be included in the computational graph, they should be
-submitted to the device. Device class on the CPP side will add these operations
-in the computational graph and the scheduler will schedule them automatically.</p>
-<h4><a class="anchor" aria-hidden="true" id="requirements"></a><a href="#requirements" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>When submitting operations, there are some requirements.</p>
-<ul>
-<li><p>Need to pass in the function that the operation executes and the data blocks
-that the operation reads and writes</p></li>
-<li><p>For the function of the operation: All variables used in lambda expressions
-need to be captured according to the following rules.</p>
-<ul>
-<li><p><code>capture by value</code>: If the variable is a local variable or will be
-immediately released (e.g. intermediate tensors). If not captured by value,
-these variables will be destroyed after buffering. Buffering is just a way
-to defer real calculations.</p></li>
-<li><p><code>capture by reference</code>:If the variable is recorded on the python side or a
-global variable (e.g. The parameter W and ConvHand in the Conv2d class).</p></li>
-<li><p><code>mutable</code>: The lambda expression should have mutable tag if a variable
-captured by value is modified in an expression</p></li>
-</ul></li>
-</ul>
-<h4><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<ul>
-<li>Python side:
-<a href="https://github.com/apache/singa/blob/dev/python/singa/autograd.py#L1191">_Conv2d</a>
-records x, W, b and handle in the class.</li>
-</ul>
-<pre><code class="hljs css language-python"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">_Conv2d</span><span class="hljs-params">(Operation)</span>:</span>
-
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, handle, odd_padding=<span class="hljs-params">(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>)</span>)</span>:</span>
-        super(_Conv2d, self).__init__()
-        self.handle = handle  <span class="hljs-comment"># record handle</span>
-        self.odd_padding = odd_padding
-        <span class="hljs-keyword">if</span> self.odd_padding != (<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>):
-            self.re_new_handle = <span class="hljs-literal">True</span>
-
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x, W, b=None)</span>:</span>
-        <span class="hljs-comment"># other code</span>
-        <span class="hljs-comment"># ......</span>
-
-        <span class="hljs-keyword">if</span> training:
-            <span class="hljs-keyword">if</span> self.handle.bias_term:
-                self.inputs = (x, W, b) <span class="hljs-comment"># record x, W, b</span>
-            <span class="hljs-keyword">else</span>:
-                self.inputs = (x, W)
-
-        <span class="hljs-comment"># other code</span>
-        <span class="hljs-comment"># ......</span>
-
-        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
-            <span class="hljs-keyword">return</span> singa.GpuConvForward(x, W, b, self.handle)
-        <span class="hljs-keyword">else</span>:
-            <span class="hljs-keyword">return</span> singa.CpuConvForward(x, W, b, self.handle)
-
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">backward</span><span class="hljs-params">(self, dy)</span>:</span>
-        <span class="hljs-keyword">if</span> (type(self.handle) != singa.ConvHandle):
-            dx = singa.GpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
-                                        self.handle)
-            dW = singa.GpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
-                                        self.handle)
-            db = singa.GpuConvBackwardb(
-                dy, self.inputs[<span class="hljs-number">2</span>],
-                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
-        <span class="hljs-keyword">else</span>:
-            dx = singa.CpuConvBackwardx(dy, self.inputs[<span class="hljs-number">1</span>], self.inputs[<span class="hljs-number">0</span>],
-                                        self.handle)
-            dW = singa.CpuConvBackwardW(dy, self.inputs[<span class="hljs-number">0</span>], self.inputs[<span class="hljs-number">1</span>],
-                                        self.handle)
-            db = singa.CpuConvBackwardb(
-                dy, self.inputs[<span class="hljs-number">2</span>],
-                self.handle) <span class="hljs-keyword">if</span> self.handle.bias_term <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>
-        <span class="hljs-keyword">if</span> self.odd_padding != (<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>):
-            dx = utils.handle_odd_pad_bwd(dx, self.odd_padding)
-
-        <span class="hljs-keyword">if</span> db:
-            <span class="hljs-keyword">return</span> dx, dW, db
-
-        <span class="hljs-keyword">else</span>:
-            <span class="hljs-keyword">return</span> dx, dW
-</code></pre>
-<ul>
-<li>C++ side:
-<a href="https://github.com/apache/singa/blob/dev/src/model/operation/convolution.cc">convolution.cc</a></li>
+<li>Training with the computational graph enabled can significantly reduce the
+memory footprint.</li>
+<li>Currently, there is a little improvement in terms of speed. More optimizations
+can be done towards the efficiency.</li>
 </ul>
-<pre><code class="hljs css language-c++"><span class="hljs-function">Tensor <span class="hljs-title">GpuConvBackwardx</span><span class="hljs-params">(<span class="hljs-keyword">const</span> Tensor &amp;dy, <span class="hljs-keyword">const</span> Tensor &amp;W, <span class="hljs-keyword">const</span> Tensor &amp;x,
-                        <span class="hljs-keyword">const</span> CudnnConvHandle &amp;cch)</span> </span>{
-  CHECK_EQ(dy.device()-&gt;lang(), kCuda);
-
-  Tensor dx;
-  dx.ResetLike(x);
-
-  dy.device()-&gt;Exec(
-      <span class="hljs-comment">/*
-       * dx is a local variable so it's captured by value
-       * dy is an intermediate tensor and isn't recorded on the python side
-       * W is an intermediate tensor but it's recorded on the python side
-       * chh is a variable and it's recorded on the python side
-       */</span>
-      [dx, dy, &amp;W, &amp;cch](Context *ctx) <span class="hljs-keyword">mutable</span> {
-        Block *wblock = W.block(), *dyblock = dy.block(), *dxblock = dx.block();
-        <span class="hljs-keyword">float</span> alpha = <span class="hljs-number">1.f</span>, beta = <span class="hljs-number">0.f</span>;
-        cudnnConvolutionBackwardData(
-            ctx-&gt;cudnn_handle, &amp;alpha, cch.filter_desc, wblock-&gt;data(),
-            cch.y_desc, dyblock-&gt;data(), cch.conv_desc, cch.bp_data_alg,
-            cch.workspace.block()-&gt;mutable_data(),
-            cch.workspace_count * <span class="hljs-keyword">sizeof</span>(<span class="hljs-keyword">float</span>), &amp;beta, cch.x_desc,
-            dxblock-&gt;mutable_data());
-      },
-      {dy.block(), W.block()}, {dx.block(), cch.workspace.block()});
-      <span class="hljs-comment">/* the lambda expression reads the blocks of tensor dy and w
-       * and writes the blocks of tensor dx and chh.workspace
-       */</span>
-
-  <span class="hljs-keyword">return</span> dx;
-}
-</code></pre>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/autograd"><span class="arrow-prev">← </span><span>Autograd</span></a><a class="docs-next button" href="/docs/dist-train"><span>Distributed Training</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#about-computational-graph">About Computational Graph</a><u [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/13/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/autograd"><span class="arrow-prev">← </span><span>Autograd</span></a><a class="docs-next button" href="/docs/onnx"><span>ONNX</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example">Example</a></li><li><a href="#implementation">Implementation</a><ul cl [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/history-singa.html b/content/docs/history-singa.html
index 5cee8c1..969aeac 100644
--- a/content/docs/history-singa.html
+++ b/content/docs/history-singa.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>History of SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrigh [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>History of SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrigh [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/history-singa/index.html b/content/docs/history-singa/index.html
index 5cee8c1..969aeac 100644
--- a/content/docs/history-singa/index.html
+++ b/content/docs/history-singa/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>History of SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrigh [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>History of SINGA · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrigh [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/how-to-release.html b/content/docs/how-to-release.html
index 99f90ae..1c4c1f2 100644
--- a/content/docs/how-to-release.html
+++ b/content/docs/how-to-release.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Prepare a Release · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Prepare a Release · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -96,21 +96,43 @@ package which is not APL, must state it at the end of the NOTICE file.</li>
 Features, Bugs (link to JIRA or Github PR), Changes, Dependency list,
 Incompatibility issues. Follow this
 <a href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">example</a>.</p></li>
-<li><p>Prepare DISCLAIMER file. Modify from the
-<a href="http://incubator.apache.org/guides/branding.html#disclaimers">template</a></p></li>
 <li><p>Package the release candidate. The release should be packaged into :
 apache-singa-VERSION.tar.gz. The release should not include any binary files
-including git files. Upload the release to for
-<a href="https://dist.apache.org/repos/dist/dev/VERSION/">stage</a>. The tar file,
+including git files. Upload the release the
+<a href="https://dist.apache.org/repos/dist/dev/singa/">stage repo</a>. The tar file,
 signature, KEY and SHA256 checksum file should be included. MD5 is no longer
 used. Policy is
-<a href="http://www.apache.org/dev/release-distribution#sigs-and-sums">here</a></p>
+<a href="http://www.apache.org/dev/release-distribution#sigs-and-sums">here</a>. The
+stage folder should include:</p>
 <ul>
 <li>apache-singa-VERSION.tar.gz</li>
-<li>KEY</li>
-<li>XX.acs</li>
-<li>.SHA256</li>
-</ul></li>
+<li>apache-singa-VERSION.acs</li>
+<li>apache-singa-VERSION.SHA256</li>
+</ul>
+<p>The commands to create these files and upload them to the stage svn repo:</p>
+<pre><code class="hljs css language-sh"><span class="hljs-comment"># in singa repo</span>
+rm -rf .git
+rm -rf rafiki/*
+<span class="hljs-built_in">cd</span> ..
+tar -czvf apache-singa-VERSION.tar.gz  singa/
+
+mkdir stage
+<span class="hljs-built_in">cd</span> stage
+svn co https://dist.apache.org/repos/dist/dev/singa/
+<span class="hljs-built_in">cd</span> singa
+<span class="hljs-comment"># copy the KEYS file from singa repo to this folder if it is not here</span>
+cp ../../singa/KEYS .
+mkdir VERSION
+<span class="hljs-comment"># copy the tar.gz file</span>
+mv ../../apache-singa-VERSION.tar.gz VERSION/
+<span class="hljs-built_in">cd</span> VERSION
+sha512sum apache-singa-VERSION.tar.gz &gt; apache-singa-VERSION.tar.gz.sha512
+gpg --armor --output apache-singa-VERSION.tar.gz.asc --detach-sig apache-singa-VERSION.tar.gz
+svn add VERSION
+svn update
+</code></pre></li>
+</ol>
+<ol start="6">
 <li><p>Call for vote by sending an email</p>
 <pre><code class="hljs">To: dev@singa.apache.org
 Subject: [VOTE] <span class="hljs-keyword">Release</span> apache-singa-X.Y.Z (<span class="hljs-keyword">release</span> candidate N)
@@ -154,14 +176,14 @@ Apache SINGA X.Y.Z has passed.
 </span></code></pre></li>
 <li><p>Upload the package for
 <a href="http://www.apache.org/dev/release-publishing.html#distribution">distribution</a>
-to <a href="https://dist.apache.org/repos/dist/release/VERSION/">https://dist.apache.org/repos/dist/release/VERSION/</a>.</p></li>
-<li><p>Update the Download page of SINGA website. The tar.gz file MUST be
-downloaded from mirror, using closer.cgi script; other artifacts MUST be
-downloaded from main Apache site. More details
+to <a href="https://dist.apache.org/repos/dist/release/singa/">https://dist.apache.org/repos/dist/release/singa/</a>.</p></li>
+<li><p>Update the Download page of SINGA website. The tar.gz file MUST be downloaded
+from mirror, using closer.cgi script; other artifacts MUST be downloaded from
+main Apache site. More details
 <a href="http://www.apache.org/dev/release-download-pages.html">here</a>. Some feedback
-we got during the previous releases: &quot;Download pages must only link to
-formal releases, so must not include links to GitHub.&quot;, &quot;Links to KEYS, sigs
-and hashes must not use dist.apache.org; instead use
+we got during the previous releases: &quot;Download pages must only link to formal
+releases, so must not include links to GitHub.&quot;, &quot;Links to KEYS, sigs and
+hashes must not use dist.apache.org; instead use
 <a href="https://www.apache.org/dist/singa/">https://www.apache.org/dist/singa/</a>...;&quot;, &quot;Also you only need one KEYS link,
 and there should be a description of how to use KEYS + sig or hash to verify
 the downloads.&quot;</p></li>
@@ -182,7 +204,7 @@ and contributions to the project.
 On behalf of the SINGA team, {SINGA Team Member Name}
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/contribute-docs"><span class="arrow-prev">← </span><span>How to Contribute to Documentation</span></a><a class="docs-next button" href="/docs/git-workflow"><span>Git Workflow</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sit [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/13/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/contribute-docs"><span class="arrow-prev">← </span><span>How to Contribute to Documentation</span></a><a class="docs-next button" href="/docs/git-workflow"><span>Git Workflow</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/how-to-release/index.html b/content/docs/how-to-release/index.html
index 99f90ae..1c4c1f2 100644
--- a/content/docs/how-to-release/index.html
+++ b/content/docs/how-to-release/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Prepare a Release · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>How to Prepare a Release · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -96,21 +96,43 @@ package which is not APL, must state it at the end of the NOTICE file.</li>
 Features, Bugs (link to JIRA or Github PR), Changes, Dependency list,
 Incompatibility issues. Follow this
 <a href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">example</a>.</p></li>
-<li><p>Prepare DISCLAIMER file. Modify from the
-<a href="http://incubator.apache.org/guides/branding.html#disclaimers">template</a></p></li>
 <li><p>Package the release candidate. The release should be packaged into :
 apache-singa-VERSION.tar.gz. The release should not include any binary files
-including git files. Upload the release to for
-<a href="https://dist.apache.org/repos/dist/dev/VERSION/">stage</a>. The tar file,
+including git files. Upload the release the
+<a href="https://dist.apache.org/repos/dist/dev/singa/">stage repo</a>. The tar file,
 signature, KEY and SHA256 checksum file should be included. MD5 is no longer
 used. Policy is
-<a href="http://www.apache.org/dev/release-distribution#sigs-and-sums">here</a></p>
+<a href="http://www.apache.org/dev/release-distribution#sigs-and-sums">here</a>. The
+stage folder should include:</p>
 <ul>
 <li>apache-singa-VERSION.tar.gz</li>
-<li>KEY</li>
-<li>XX.acs</li>
-<li>.SHA256</li>
-</ul></li>
+<li>apache-singa-VERSION.acs</li>
+<li>apache-singa-VERSION.SHA256</li>
+</ul>
+<p>The commands to create these files and upload them to the stage svn repo:</p>
+<pre><code class="hljs css language-sh"><span class="hljs-comment"># in singa repo</span>
+rm -rf .git
+rm -rf rafiki/*
+<span class="hljs-built_in">cd</span> ..
+tar -czvf apache-singa-VERSION.tar.gz  singa/
+
+mkdir stage
+<span class="hljs-built_in">cd</span> stage
+svn co https://dist.apache.org/repos/dist/dev/singa/
+<span class="hljs-built_in">cd</span> singa
+<span class="hljs-comment"># copy the KEYS file from singa repo to this folder if it is not here</span>
+cp ../../singa/KEYS .
+mkdir VERSION
+<span class="hljs-comment"># copy the tar.gz file</span>
+mv ../../apache-singa-VERSION.tar.gz VERSION/
+<span class="hljs-built_in">cd</span> VERSION
+sha512sum apache-singa-VERSION.tar.gz &gt; apache-singa-VERSION.tar.gz.sha512
+gpg --armor --output apache-singa-VERSION.tar.gz.asc --detach-sig apache-singa-VERSION.tar.gz
+svn add VERSION
+svn update
+</code></pre></li>
+</ol>
+<ol start="6">
 <li><p>Call for vote by sending an email</p>
 <pre><code class="hljs">To: dev@singa.apache.org
 Subject: [VOTE] <span class="hljs-keyword">Release</span> apache-singa-X.Y.Z (<span class="hljs-keyword">release</span> candidate N)
@@ -154,14 +176,14 @@ Apache SINGA X.Y.Z has passed.
 </span></code></pre></li>
 <li><p>Upload the package for
 <a href="http://www.apache.org/dev/release-publishing.html#distribution">distribution</a>
-to <a href="https://dist.apache.org/repos/dist/release/VERSION/">https://dist.apache.org/repos/dist/release/VERSION/</a>.</p></li>
-<li><p>Update the Download page of SINGA website. The tar.gz file MUST be
-downloaded from mirror, using closer.cgi script; other artifacts MUST be
-downloaded from main Apache site. More details
+to <a href="https://dist.apache.org/repos/dist/release/singa/">https://dist.apache.org/repos/dist/release/singa/</a>.</p></li>
+<li><p>Update the Download page of SINGA website. The tar.gz file MUST be downloaded
+from mirror, using closer.cgi script; other artifacts MUST be downloaded from
+main Apache site. More details
 <a href="http://www.apache.org/dev/release-download-pages.html">here</a>. Some feedback
-we got during the previous releases: &quot;Download pages must only link to
-formal releases, so must not include links to GitHub.&quot;, &quot;Links to KEYS, sigs
-and hashes must not use dist.apache.org; instead use
+we got during the previous releases: &quot;Download pages must only link to formal
+releases, so must not include links to GitHub.&quot;, &quot;Links to KEYS, sigs and
+hashes must not use dist.apache.org; instead use
 <a href="https://www.apache.org/dist/singa/">https://www.apache.org/dist/singa/</a>...;&quot;, &quot;Also you only need one KEYS link,
 and there should be a description of how to use KEYS + sig or hash to verify
 the downloads.&quot;</p></li>
@@ -182,7 +204,7 @@ and contributions to the project.
 On behalf of the SINGA team, {SINGA Team Member Name}
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/contribute-docs"><span class="arrow-prev">← </span><span>How to Contribute to Documentation</span></a><a class="docs-next button" href="/docs/git-workflow"><span>Git Workflow</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sit [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/13/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/contribute-docs"><span class="arrow-prev">← </span><span>How to Contribute to Documentation</span></a><a class="docs-next button" href="/docs/git-workflow"><span>Git Workflow</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="si [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/initializer.html b/content/docs/initializer.html
index c973dcc..cb9573d 100644
--- a/content/docs/initializer.html
+++ b/content/docs/initializer.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Initializer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright own [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Initializer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright own [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/initializer/index.html b/content/docs/initializer/index.html
index c973dcc..cb9573d 100644
--- a/content/docs/initializer/index.html
+++ b/content/docs/initializer/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Initializer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright own [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Initializer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright own [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/install-win.html b/content/docs/install-win.html
index 180a35e..d168577 100644
--- a/content/docs/install-win.html
+++ b/content/docs/install-win.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA on Windows · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding co [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA on Windows · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding co [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>The process of building SINGA from source on Microsoft Windows has four parts:
 install dependencies, build SINGA source, (optionally) install the python module
 and (optionally) run the unit tests.</p>
diff --git a/content/docs/install-win/index.html b/content/docs/install-win/index.html
index 180a35e..d168577 100644
--- a/content/docs/install-win/index.html
+++ b/content/docs/install-win/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA on Windows · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding co [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build SINGA on Windows · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding co [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>The process of building SINGA from source on Microsoft Windows has four parts:
 install dependencies, build SINGA source, (optionally) install the python module
 and (optionally) run the unit tests.</p>
diff --git a/content/docs/installation.html b/content/docs/installation.html
index 8a78a06..9378290 100644
--- a/content/docs/installation.html
+++ b/content/docs/installation.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Installation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Installation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/installation/index.html b/content/docs/installation/index.html
index 8a78a06..9378290 100644
--- a/content/docs/installation/index.html
+++ b/content/docs/installation/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Installation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Installation · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ow [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/issue-tracking.html b/content/docs/issue-tracking.html
index be9c871..5e899bb 100644
--- a/content/docs/issue-tracking.html
+++ b/content/docs/issue-tracking.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Issue Tracking · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Issue Tracking · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/issue-tracking/index.html b/content/docs/issue-tracking/index.html
index be9c871..5e899bb 100644
--- a/content/docs/issue-tracking/index.html
+++ b/content/docs/issue-tracking/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Issue Tracking · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Issue Tracking · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/layer.html b/content/docs/layer.html
index 1d850d5..5cec5f6 100644
--- a/content/docs/layer.html
+++ b/content/docs/layer.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Layer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Layer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/layer/index.html b/content/docs/layer/index.html
index 1d850d5..5cec5f6 100644
--- a/content/docs/layer/index.html
+++ b/content/docs/layer/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Layer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Layer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/loss.html b/content/docs/loss.html
index eda9794..251c735 100644
--- a/content/docs/loss.html
+++ b/content/docs/loss.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Loss · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Loss · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/loss/index.html b/content/docs/loss/index.html
index eda9794..251c735 100644
--- a/content/docs/loss/index.html
+++ b/content/docs/loss/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Loss · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Loss · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/mail-lists.html b/content/docs/mail-lists.html
index c774328..109f441 100644
--- a/content/docs/mail-lists.html
+++ b/content/docs/mail-lists.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Project Mailing Lists · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Project Mailing Lists · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/mail-lists/index.html b/content/docs/mail-lists/index.html
index c774328..109f441 100644
--- a/content/docs/mail-lists/index.html
+++ b/content/docs/mail-lists/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Project Mailing Lists · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Project Mailing Lists · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding cop [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/metric.html b/content/docs/metric.html
index 18c273a..66d7f7b 100644
--- a/content/docs/metric.html
+++ b/content/docs/metric.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metric · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metric · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/metric/index.html b/content/docs/metric/index.html
index 18c273a..66d7f7b 100644
--- a/content/docs/metric/index.html
+++ b/content/docs/metric/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metric · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metric · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/model-zoo-char-rnn.html b/content/docs/model-zoo-char-rnn.html
index 69ce27e..cb8d068 100644
--- a/content/docs/model-zoo-char-rnn.html
+++ b/content/docs/model-zoo-char-rnn.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train Char-RNN over plain text · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train Char-RNN over plain text · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Recurrent neural networks (RNN) are widely used for modelling sequential data, e.g., natural language sentences. This example describes how to implement a RNN application (or model) using SINGA's RNN layers. We will use the <a href="https://github.com/karpathy/char-rnn">char-rnn</a> model as an example, which trains over sentences or source code, with each character as an input unit. Particularly, we will train a RNN using GRU over Linux kernel source code. After training, we expect t [...]
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <h3><a class="anchor" aria-hidden="true" id="compile-and-install-singa"></a><a href="#compile-and-install-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
diff --git a/content/docs/model-zoo-char-rnn/index.html b/content/docs/model-zoo-char-rnn/index.html
index 69ce27e..cb8d068 100644
--- a/content/docs/model-zoo-char-rnn/index.html
+++ b/content/docs/model-zoo-char-rnn/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train Char-RNN over plain text · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train Char-RNN over plain text · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Recurrent neural networks (RNN) are widely used for modelling sequential data, e.g., natural language sentences. This example describes how to implement a RNN application (or model) using SINGA's RNN layers. We will use the <a href="https://github.com/karpathy/char-rnn">char-rnn</a> model as an example, which trains over sentences or source code, with each character as an input unit. Particularly, we will train a RNN using GRU over Linux kernel source code. After training, we expect t [...]
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <h3><a class="anchor" aria-hidden="true" id="compile-and-install-singa"></a><a href="#compile-and-install-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
diff --git a/content/docs/model-zoo-cnn-cifar10.html b/content/docs/model-zoo-cnn-cifar10.html
index ae6ffc4..cb8ce1b 100644
--- a/content/docs/model-zoo-cnn-cifar10.html
+++ b/content/docs/model-zoo-cnn-cifar10.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train CNN over Cifar-10 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train CNN over Cifar-10 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Convolution neural network (CNN) is a type of feed-forward artificial neural network widely used for image and video classification. In this example, we will train three deep CNN models to do image classification for the CIFAR-10 dataset,</p>
 <ol>
 <li><p><a href="https://code.google.com/p/cuda-convnet/source/browse/trunk/example-layers/layers-18pct.cfg">AlexNet</a> the best validation accuracy (without data augmentation) we achieved was about 82%.</p></li>
diff --git a/content/docs/model-zoo-cnn-cifar10/index.html b/content/docs/model-zoo-cnn-cifar10/index.html
index ae6ffc4..cb8ce1b 100644
--- a/content/docs/model-zoo-cnn-cifar10/index.html
+++ b/content/docs/model-zoo-cnn-cifar10/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train CNN over Cifar-10 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train CNN over Cifar-10 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding c [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Convolution neural network (CNN) is a type of feed-forward artificial neural network widely used for image and video classification. In this example, we will train three deep CNN models to do image classification for the CIFAR-10 dataset,</p>
 <ol>
 <li><p><a href="https://code.google.com/p/cuda-convnet/source/browse/trunk/example-layers/layers-18pct.cfg">AlexNet</a> the best validation accuracy (without data augmentation) we achieved was about 82%.</p></li>
diff --git a/content/docs/model-zoo-imagenet-alexnet.html b/content/docs/model-zoo-imagenet-alexnet.html
index 78517b1..f380e54 100644
--- a/content/docs/model-zoo-imagenet-alexnet.html
+++ b/content/docs/model-zoo-imagenet-alexnet.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train AlexNet over ImageNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train AlexNet over ImageNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Convolution neural network (CNN) is a type of feed-forward neural network widely used for image and video classification. In this example, we will use a <a href="http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks">deep CNN model</a> to do image classification against the ImageNet dataset.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <h3><a class="anchor" aria-hidden="true" id="compile-singa"></a><a href="#compile-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
diff --git a/content/docs/model-zoo-imagenet-alexnet/index.html b/content/docs/model-zoo-imagenet-alexnet/index.html
index 78517b1..f380e54 100644
--- a/content/docs/model-zoo-imagenet-alexnet/index.html
+++ b/content/docs/model-zoo-imagenet-alexnet/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train AlexNet over ImageNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train AlexNet over ImageNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regardi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Convolution neural network (CNN) is a type of feed-forward neural network widely used for image and video classification. In this example, we will use a <a href="http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks">deep CNN model</a> to do image classification against the ImageNet dataset.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <h3><a class="anchor" aria-hidden="true" id="compile-singa"></a><a href="#compile-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
diff --git a/content/docs/model-zoo-imagenet-densenet.html b/content/docs/model-zoo-imagenet-densenet.html
index 84ec5c6..c3878df 100644
--- a/content/docs/model-zoo-imagenet-densenet.html
+++ b/content/docs/model-zoo-imagenet-densenet.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using DenseNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using DenseNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert DenseNet on <a href="https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py">PyTorch</a> to SINGA for image classification.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-densenet/index.html b/content/docs/model-zoo-imagenet-densenet/index.html
index 84ec5c6..c3878df 100644
--- a/content/docs/model-zoo-imagenet-densenet/index.html
+++ b/content/docs/model-zoo-imagenet-densenet/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using DenseNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using DenseNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert DenseNet on <a href="https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py">PyTorch</a> to SINGA for image classification.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-googlenet.html b/content/docs/model-zoo-imagenet-googlenet.html
index 64468d1..b145ea5 100644
--- a/content/docs/model-zoo-imagenet-googlenet.html
+++ b/content/docs/model-zoo-imagenet-googlenet.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using GoogleNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using GoogleNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert GoogleNet trained on Caffe to SINGA for image classification. Tested on <a href="https://github.com/apache/singa/commit/8c990f7da2de220e8a012c6a8ecc897dc7532744">SINGA commit</a> with <a href="https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz">the parameters</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-googlenet/index.html b/content/docs/model-zoo-imagenet-googlenet/index.html
index 64468d1..b145ea5 100644
--- a/content/docs/model-zoo-imagenet-googlenet/index.html
+++ b/content/docs/model-zoo-imagenet-googlenet/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using GoogleNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using GoogleNet · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert GoogleNet trained on Caffe to SINGA for image classification. Tested on <a href="https://github.com/apache/singa/commit/8c990f7da2de220e8a012c6a8ecc897dc7532744">SINGA commit</a> with <a href="https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz">the parameters</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-inception.html b/content/docs/model-zoo-imagenet-inception.html
index 3539413..9e7776f 100644
--- a/content/docs/model-zoo-imagenet-inception.html
+++ b/content/docs/model-zoo-imagenet-inception.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Inception V4 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Inception V4 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert Inception V4 trained on Tensorflow to SINGA for image classification. Tested on SINGA version 1.1.1 with <a href="https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz">parameters pretrained by tensorflow</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-inception/index.html b/content/docs/model-zoo-imagenet-inception/index.html
index 3539413..9e7776f 100644
--- a/content/docs/model-zoo-imagenet-inception/index.html
+++ b/content/docs/model-zoo-imagenet-inception/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Inception V4 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Inception V4 · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert Inception V4 trained on Tensorflow to SINGA for image classification. Tested on SINGA version 1.1.1 with <a href="https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz">parameters pretrained by tensorflow</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-resnet.html b/content/docs/model-zoo-imagenet-resnet.html
index a195fb2..2995ec4 100644
--- a/content/docs/model-zoo-imagenet-resnet.html
+++ b/content/docs/model-zoo-imagenet-resnet.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Residual Networks · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional in [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Residual Networks · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional in [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert Residual Networks trained on <a href="https://github.com/facebook/fb.resnet.torch">Torch</a> to SINGA for image classification. Tested with the <a href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz">parameters pretrained by Torch</a></p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-resnet/index.html b/content/docs/model-zoo-imagenet-resnet/index.html
index a195fb2..2995ec4 100644
--- a/content/docs/model-zoo-imagenet-resnet/index.html
+++ b/content/docs/model-zoo-imagenet-resnet/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Residual Networks · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional in [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using Residual Networks · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional in [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert Residual Networks trained on <a href="https://github.com/facebook/fb.resnet.torch">Torch</a> to SINGA for image classification. Tested with the <a href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz">parameters pretrained by Torch</a></p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-vgg.html b/content/docs/model-zoo-imagenet-vgg.html
index 5b27723..ac2b757 100644
--- a/content/docs/model-zoo-imagenet-vgg.html
+++ b/content/docs/model-zoo-imagenet-vgg.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using VGG · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using VGG · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert VGG on <a href="https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py">PyTorch</a> to SINGA for image classification.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-imagenet-vgg/index.html b/content/docs/model-zoo-imagenet-vgg/index.html
index 5b27723..ac2b757 100644
--- a/content/docs/model-zoo-imagenet-vgg/index.html
+++ b/content/docs/model-zoo-imagenet-vgg/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using VGG · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Image Classification using VGG · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information rega [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>In this example, we convert VGG on <a href="https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py">PyTorch</a> to SINGA for image classification.</p>
 <h2><a class="anchor" aria-hidden="true" id="instructions"></a><a href="#instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <blockquote>
diff --git a/content/docs/model-zoo-rbm-mnist.html b/content/docs/model-zoo-rbm-mnist.html
index 940809d..4755b35 100644
--- a/content/docs/model-zoo-rbm-mnist.html
+++ b/content/docs/model-zoo-rbm-mnist.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train a RBM model against MNIST dataset · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train a RBM model against MNIST dataset · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>This example is to train an RBM model using the MNIST dataset. The RBM model and its hyper-parameters are set following <a href="http://www.cs.toronto.edu/~hinton/science.pdf">Hinton's paper</a></p>
 <h2><a class="anchor" aria-hidden="true" id="running-instructions"></a><a href="#running-instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <h3><a class="anchor" aria-hidden="true" id="download"></a><a href="#download" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
diff --git a/content/docs/model-zoo-rbm-mnist/index.html b/content/docs/model-zoo-rbm-mnist/index.html
index 940809d..4755b35 100644
--- a/content/docs/model-zoo-rbm-mnist/index.html
+++ b/content/docs/model-zoo-rbm-mnist/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train a RBM model against MNIST dataset · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Train a RBM model against MNIST dataset · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informa [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>This example is to train an RBM model using the MNIST dataset. The RBM model and its hyper-parameters are set following <a href="http://www.cs.toronto.edu/~hinton/science.pdf">Hinton's paper</a></p>
 <h2><a class="anchor" aria-hidden="true" id="running-instructions"></a><a href="#running-instructions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <h3><a class="anchor" aria-hidden="true" id="download"></a><a href="#download" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
diff --git a/content/docs/next/download-singa.html b/content/docs/next/download-singa.html
index 866f50e..5ef11cf 100644
--- a/content/docs/next/download-singa.html
+++ b/content/docs/next/download-singa.html
@@ -69,6 +69,27 @@ the following commands</p>
 <span class="hljs-meta">%</span><span class="bash"> gpg --verify downloaded_file.asc downloaded_file</span>
 </code></pre>
 <p>You can also check the SHA512 or MD5 values to see if the download is completed.</p>
+<h2><a class="anchor" aria-hidden="true" id="v300-18-april-2020"></a><a href="#v300-18-april-2020" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/singa/3.0.0/apache-singa-3.0.0.tar.gz">Apache SINGA 3.0.0</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.sha512">[SHA512]</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.asc">[ASC]</a></li>
+<li><a href="releases/RELEASE_NOTES_3.0.0">Release Notes 3.0.0</a></li>
+<li>New features and major changes,
+<ul>
+<li>Enhanced ONNX. Multiple ONNX models have been tested in SINGA.</li>
+<li>Distributed training with MPI and NCCL Communication optimization through
+gradient sparsification and compression, and chunk transmission.</li>
+<li>Computational graph construction and optimization for speed and memory using
+the graph.</li>
+<li>New documentation website (singa.apache.org) and API reference website
+(apache-singa.rtfd.io).</li>
+<li>CI for code quality check.</li>
+<li>Replace MKLDNN with DNNL</li>
+<li>Update tensor APIs to support broadcasting operations.</li>
+<li>New autograd operators to support ONNX models.</li>
+</ul></li>
+</ul>
 <h2><a class="anchor" aria-hidden="true" id="incubating-v200-20-april-2019"></a><a href="#incubating-v200-20-april-2019" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <ul>
 <li><a href="http://www.apache.org/dyn/closer.cgi/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz">Apache SINGA 2.0.0 (incubating)</a>
@@ -222,7 +243,7 @@ models, energy models and RNN models.</li>
 <li>Unit test using gtest</li>
 </ul></li>
 </ul>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/next/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href=" [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/next/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href= [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/next/download-singa/index.html b/content/docs/next/download-singa/index.html
index 866f50e..5ef11cf 100644
--- a/content/docs/next/download-singa/index.html
+++ b/content/docs/next/download-singa/index.html
@@ -69,6 +69,27 @@ the following commands</p>
 <span class="hljs-meta">%</span><span class="bash"> gpg --verify downloaded_file.asc downloaded_file</span>
 </code></pre>
 <p>You can also check the SHA512 or MD5 values to see if the download is completed.</p>
+<h2><a class="anchor" aria-hidden="true" id="v300-18-april-2020"></a><a href="#v300-18-april-2020" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<ul>
+<li><a href="http://www.apache.org/dyn/closer.cgi/singa/3.0.0/apache-singa-3.0.0.tar.gz">Apache SINGA 3.0.0</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.sha512">[SHA512]</a>
+<a href="https://www.apache.org/dist/singa/3.0.0/apache-singa-3.0.0.tar.gz.asc">[ASC]</a></li>
+<li><a href="releases/RELEASE_NOTES_3.0.0">Release Notes 3.0.0</a></li>
+<li>New features and major changes,
+<ul>
+<li>Enhanced ONNX. Multiple ONNX models have been tested in SINGA.</li>
+<li>Distributed training with MPI and NCCL Communication optimization through
+gradient sparsification and compression, and chunk transmission.</li>
+<li>Computational graph construction and optimization for speed and memory using
+the graph.</li>
+<li>New documentation website (singa.apache.org) and API reference website
+(apache-singa.rtfd.io).</li>
+<li>CI for code quality check.</li>
+<li>Replace MKLDNN with DNNL</li>
+<li>Update tensor APIs to support broadcasting operations.</li>
+<li>New autograd operators to support ONNX models.</li>
+</ul></li>
+</ul>
 <h2><a class="anchor" aria-hidden="true" id="incubating-v200-20-april-2019"></a><a href="#incubating-v200-20-april-2019" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <ul>
 <li><a href="http://www.apache.org/dyn/closer.cgi/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz">Apache SINGA 2.0.0 (incubating)</a>
@@ -222,7 +243,7 @@ models, energy models and RNN models.</li>
 <li>Unit test using gtest</li>
 </ul></li>
 </ul>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/2/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/next/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href=" [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/dist-train"><span class="arrow-prev">← </span><span>Distributed Training</span></a><a class="docs-next button" href="/docs/next/build"><span>Build SINGA from Source</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#verify">Verify</a></li><li><a href= [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html b/content/docs/next/releases/RELEASE_NOTES_3.0.0.html
similarity index 52%
copy from content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
copy to content/docs/next/releases/RELEASE_NOTES_3.0.0.html
index 15c68a3..6137d31 100644
--- a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
+++ b/content/docs/next/releases/RELEASE_NOTES_3.0.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>next</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-interna [...]
 <p>Release Notes - SINGA - Version singa-3.0.0.rc1</p>
 <p>SINGA is a distributed deep learning library.</p>
 <p>This release includes following changes:</p>
@@ -95,7 +95,7 @@ move some inputs to its attributes;</li>
 <li>Define and implement the type conversion map.</li>
 </ul></li>
 </ul>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readth [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readt [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html b/content/docs/next/releases/RELEASE_NOTES_3.0.0/index.html
similarity index 52%
copy from content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
copy to content/docs/next/releases/RELEASE_NOTES_3.0.0/index.html
index 15c68a3..6137d31 100644
--- a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
+++ b/content/docs/next/releases/RELEASE_NOTES_3.0.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>next</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-interna [...]
 <p>Release Notes - SINGA - Version singa-3.0.0.rc1</p>
 <p>SINGA is a distributed deep learning library.</p>
 <p>This release includes following changes:</p>
@@ -95,7 +95,7 @@ move some inputs to its attributes;</li>
 <li>Define and implement the type conversion map.</li>
 </ul></li>
 </ul>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readth [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readt [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/onnx.html b/content/docs/onnx.html
index b274230..4ea7b6a 100644
--- a/content/docs/onnx.html
+++ b/content/docs/onnx.html
@@ -1,18 +1,73 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ONNX · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ONNX · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
-<p>ONNX is an open format built to represent machine learning models, which enables
-an ability to transfer trained models between different deep learning
-frameworks. We have integrated the main functionality of ONNX into SINGA, and
-several basic operators have been supported. More operators are being
-developing.</p>
-<p>The supported [ONNX
-version}(<a href="https://github.com/onnx/onnx/blob/master/docs/Versioning.md">https://github.com/onnx/onnx/blob/master/docs/Versioning.md</a>) os SINGA
-is:</p>
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/onnx.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">ONNX</h1></header><article><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreemen [...]
+<p><a href="https://onnx.ai/">ONNX</a> is an open representation format for machine learning
+models, which enables AI developers to use models across different libraries and
+tools. SINGA supports loading ONNX format models for training and inference, and
+saving models defined using SINGA APIs (e.g., <a href="./module">Module</a>) into ONNX
+format.</p>
+<p>SINGA has been tested with the following
+<a href="https://github.com/onnx/onnx/blob/master/docs/Versioning.md">version</a> of ONNX.</p>
 <table>
 <thead>
 <tr><th>ONNX version</th><th>File format version</th><th>Opset version ai.onnx</th><th>Opset version ai.onnx.ml</th><th>Opset version ai.onnx.training</th></tr>
@@ -22,23 +77,20 @@ is:</p>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="general-usage"></a><a href="#general-usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>The onnx in SINGA has supported the basic functionality, and please refer the
-following tutorials for general usage:</p>
 <h3><a class="anchor" aria-hidden="true" id="loading-an-onnx-model-into-singa"></a><a href="#loading-an-onnx-model-into-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
-<p>This part introduces how to import and prepare a SINGA model from a ONNX model.
-After you load a ONNX model by <code>onnx.load</code>, you need to update the model's
-batchsize, since for most model, they uses a placeholder to represent its
-batchsize. We give an example here, as <code>update_batch_size</code>. You only needs to
-update the batchsize of input and output, the shape of inner tensor will be
+<p>After loading an ONNX model from disk by <code>onnx.load</code>, you need to update the
+model's batchsize, since for most models, they use a placeholder to represent
+its batchsize. We give an example here, as <code>update_batch_size</code>. You only need to
+update the batchsize of input and output, the shape of internal tensors will be
 inferred automatically.</p>
 <p>Then, you can prepare the SINGA model by using <code>sonnx.prepare</code>. This function
-iteraters and translates all the nodes within the ONNX model's graph to SINGA
-operators, loads all stored weights and infers each intermediate tensor's shape.
-For the device used, please refer to the <code>device</code> section.</p>
+iterates and translates all the nodes within the ONNX model's graph into SINGA
+operators, loads all stored weights and infers each intermediate tensor's shape.</p>
 <pre><code class="hljs css language-python3"><span class="hljs-built_in">import</span> onnx
 from singa <span class="hljs-built_in">import</span> device
 from singa <span class="hljs-built_in">import</span> sonnx
 
+<span class="hljs-comment"># if the input has multiple tensors? can put this function inside prepare()?</span>
 def update_batch_size(onnx_model, batch_size):
     <span class="hljs-attr">model_input</span> = onnx_model.graph.input[<span class="hljs-number">0</span>]
     model_input.type.tensor_type.shape.dim[<span class="hljs-number">0</span>].<span class="hljs-attr">dim_value</span> = batch_size
@@ -53,17 +105,19 @@ def update_batch_size(onnx_model, batch_size):
 <span class="hljs-comment"># set batch size</span>
 <span class="hljs-attr">onnx_model</span> = update_batch_size(onnx_model, <span class="hljs-number">1</span>)
 
-<span class="hljs-comment"># prepare the model</span>
+<span class="hljs-comment"># convert onnx graph nodes into SINGA operators</span>
 <span class="hljs-attr">dev</span> = device.create_cuda_gpu()
 <span class="hljs-attr">sg_ir</span> = sonnx.prepare(onnx_model, <span class="hljs-attr">device=dev)</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="inferernce-singa-model"></a><a href="#inferernce-singa-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>After you load and prepare a SINGA model, you can do the inference by calling
-<code>sg_ir.run</code> as the following code. The input and output must be SINGA <code>Tensor</code>,
-and since SINGA model returns the output as a list, so if you only have one
-output, you just take the first element from the output as <code>forward</code> of <code>Infer</code>
-class.</p>
-<pre><code class="hljs css language-python3"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Infer</span>:</span>
+<h3><a class="anchor" aria-hidden="true" id="inference-singa-model"></a><a href="#inference-singa-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>Once the model is created, you can do inference by calling <code>sg_ir.run</code>. The
+input and output must be SINGA <code>Tensor</code> instances. Since SINGA model returns the
+output as a list, if there is only one output, you just need to take the first
+element from the output.</p>
+<pre><code class="hljs css language-python3"><span class="hljs-comment"># can warp the following code in prepare()</span>
+<span class="hljs-comment"># and provide a flag training=True/False?</span>
+
+<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Infer</span>:</span>
 
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(<span class="hljs-keyword">self</span>, sg_ir)</span></span>:
@@ -79,34 +133,40 @@ x = tensor.Tensor(device=dev, data=data)
 model = Infer(sg_ir)
 y = model.forward(x)
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="saving-an-onnx-model-from-singa"></a><a href="#saving-an-onnx-model-from-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>Now, if you have a SINGA model, you can export it as ONNX model as following:</p>
-<pre><code class="hljs css language-python3">sonnx.<span class="hljs-keyword">to</span><span class="hljs-constructor">_onnx([<span class="hljs-params">x</span>], [<span class="hljs-params">y</span>])</span>
+<h3><a class="anchor" aria-hidden="true" id="saving-singa-model-into-onnx-format"></a><a href="#saving-singa-model-into-onnx-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2 [...]
+<p>Given the input tensors and the output tensors generated by the operators the
+model, you can trace back all internal operations. Therefore, a SINGA model is
+defined by the input and outputs tensors. To export a SINGA model into ONNX
+format, you just need to provide the input and output tensor list.</p>
+<pre><code class="hljs css language-python3"># <span class="hljs-symbol">x</span> is the input tensor, <span class="hljs-symbol">y</span> is the output tensor
+sonnx.to_onnx([<span class="hljs-symbol">x</span>], [<span class="hljs-symbol">y</span>])
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="re-training-a-onnx-model"></a><a href="#re-training-a-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>You also can re-training a ONNX model after you load it into SINGA as following
-code. Please node you should set all tensors of the SINGA model to enable them
-to store gradient by <code>tens.requires_grad = True</code> and <code>tens.stores_grad = True</code>.</p>
+<h3><a class="anchor" aria-hidden="true" id="re-training-an-onnx-model"></a><a href="#re-training-an-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
+<p>To train (or refine) an ONNX model using SINGA, you need to set the internal
+tensors to be trainable</p>
 <pre><code class="hljs css language-python3"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Infer</span>:</span>
 
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(<span class="hljs-keyword">self</span>, sg_ir)</span></span>:
-        <span class="hljs-keyword">self</span>.sg_ir = sg_ir
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, sg_ir)</span>:</span>
+        self.sg_ir = sg_ir
+        <span class="hljs-comment">## can wrap these codes in sonnx?</span>
         <span class="hljs-keyword">for</span> idx, tens <span class="hljs-keyword">in</span> sg_ir.tensor_map.items():
             <span class="hljs-comment"># allow the tensors to be updated</span>
-            tens.requires_grad = True
-            tens.stores_grad = True
+            tens.requires_grad = <span class="hljs-literal">True</span>
+            tens.stores_grad = <span class="hljs-literal">True</span>
 
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(<span class="hljs-keyword">self</span>, x)</span></span>:
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x)</span>:</span>
         <span class="hljs-keyword">return</span> sg_ir.run([x])[<span class="hljs-number">0</span>]
 
-autograd.training = False
+autograd.training = <span class="hljs-literal">False</span>
 model = Infer(sg_ir)
 
+autograd.training = <span class="hljs-literal">True</span>
 <span class="hljs-comment"># then you training the model like normal</span>
+<span class="hljs-comment"># give more details??</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="transfer-learning-a-onnx-model"></a><a href="#transfer-learning-a-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
-<p>You also can append some layers to the end of ONNX model to do transfer-learning
-like following. The <code>last_layers</code> means you cut the ONNX layers from [0,
+<h3><a class="anchor" aria-hidden="true" id="transfer-learning-an-onnx-model"></a><a href="#transfer-learning-an-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
+<p>You also can append some layers to the end of ONNX model to do
+transfer-learning. The <code>last_layers</code> means you cut the ONNX layers from [0,
 last_layers]. Then you can append more layers by the normal SINGA model.</p>
 <pre><code class="hljs css language-python3">class Trans:
 
@@ -132,7 +192,7 @@ model = Trans(sg_ir, <span class="hljs-number">-1</span>)
 
 # <span class="hljs-keyword">then</span> you training the model like normal
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="example-onnx-mnist-on-singa"></a><a href="#example-onnx-mnist-on-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
+<h2><a class="anchor" aria-hidden="true" id="a-full-example"></a><a href="#a-full-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>This part introduces the usage of SINGA ONNX by using the mnist example. In this
 section, the examples of how to export, load, inference, re-training, and
 transfer-learning the minist model are displayed. You can try this part
@@ -692,7 +752,7 @@ of the model and run the SINGA operators one by one following the operators
 queue. The user can use <code>last_layers</code> to decide to run the model till the last
 few layers. Set <code>all_outputs</code> as <code>False</code> to get only the final output, <code>True</code> to
 also get all the intermediate output.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/5/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#general-usage">General usage</a><ul class="toc-headings"><li><a href="#loading-an-onnx-model-into-singa">Loading an ONNX Model into SINGA</a></li><li><a href="#inferernce-singa-model">Inferernce SINGA model</a></li><li><a href="#saving-an-onnx-model-from-singa">Saving an ONNX Model from SI [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/10/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/graph"><span class="arrow-prev">← </span><span>Computational Graph</span></a><a class="docs-next button" href="/docs/dist-train"><span>Distributed Training</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#general-usage">General usage</a><ul class="toc-he [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/onnx/index.html b/content/docs/onnx/index.html
index b274230..4ea7b6a 100644
--- a/content/docs/onnx/index.html
+++ b/content/docs/onnx/index.html
@@ -1,18 +1,73 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ONNX · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ONNX · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership. [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
-<p>ONNX is an open format built to represent machine learning models, which enables
-an ability to transfer trained models between different deep learning
-frameworks. We have integrated the main functionality of ONNX into SINGA, and
-several basic operators have been supported. More operators are being
-developing.</p>
-<p>The supported [ONNX
-version}(<a href="https://github.com/onnx/onnx/blob/master/docs/Versioning.md">https://github.com/onnx/onnx/blob/master/docs/Versioning.md</a>) os SINGA
-is:</p>
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/singa-doc/blob/master/docs-site/docs/onnx.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">ONNX</h1></header><article><div><span><!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreemen [...]
+<p><a href="https://onnx.ai/">ONNX</a> is an open representation format for machine learning
+models, which enables AI developers to use models across different libraries and
+tools. SINGA supports loading ONNX format models for training and inference, and
+saving models defined using SINGA APIs (e.g., <a href="./module">Module</a>) into ONNX
+format.</p>
+<p>SINGA has been tested with the following
+<a href="https://github.com/onnx/onnx/blob/master/docs/Versioning.md">version</a> of ONNX.</p>
 <table>
 <thead>
 <tr><th>ONNX version</th><th>File format version</th><th>Opset version ai.onnx</th><th>Opset version ai.onnx.ml</th><th>Opset version ai.onnx.training</th></tr>
@@ -22,23 +77,20 @@ is:</p>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="general-usage"></a><a href="#general-usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>The onnx in SINGA has supported the basic functionality, and please refer the
-following tutorials for general usage:</p>
 <h3><a class="anchor" aria-hidden="true" id="loading-an-onnx-model-into-singa"></a><a href="#loading-an-onnx-model-into-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
-<p>This part introduces how to import and prepare a SINGA model from a ONNX model.
-After you load a ONNX model by <code>onnx.load</code>, you need to update the model's
-batchsize, since for most model, they uses a placeholder to represent its
-batchsize. We give an example here, as <code>update_batch_size</code>. You only needs to
-update the batchsize of input and output, the shape of inner tensor will be
+<p>After loading an ONNX model from disk by <code>onnx.load</code>, you need to update the
+model's batchsize, since for most models, they use a placeholder to represent
+its batchsize. We give an example here, as <code>update_batch_size</code>. You only need to
+update the batchsize of input and output, the shape of internal tensors will be
 inferred automatically.</p>
 <p>Then, you can prepare the SINGA model by using <code>sonnx.prepare</code>. This function
-iteraters and translates all the nodes within the ONNX model's graph to SINGA
-operators, loads all stored weights and infers each intermediate tensor's shape.
-For the device used, please refer to the <code>device</code> section.</p>
+iterates and translates all the nodes within the ONNX model's graph into SINGA
+operators, loads all stored weights and infers each intermediate tensor's shape.</p>
 <pre><code class="hljs css language-python3"><span class="hljs-built_in">import</span> onnx
 from singa <span class="hljs-built_in">import</span> device
 from singa <span class="hljs-built_in">import</span> sonnx
 
+<span class="hljs-comment"># if the input has multiple tensors? can put this function inside prepare()?</span>
 def update_batch_size(onnx_model, batch_size):
     <span class="hljs-attr">model_input</span> = onnx_model.graph.input[<span class="hljs-number">0</span>]
     model_input.type.tensor_type.shape.dim[<span class="hljs-number">0</span>].<span class="hljs-attr">dim_value</span> = batch_size
@@ -53,17 +105,19 @@ def update_batch_size(onnx_model, batch_size):
 <span class="hljs-comment"># set batch size</span>
 <span class="hljs-attr">onnx_model</span> = update_batch_size(onnx_model, <span class="hljs-number">1</span>)
 
-<span class="hljs-comment"># prepare the model</span>
+<span class="hljs-comment"># convert onnx graph nodes into SINGA operators</span>
 <span class="hljs-attr">dev</span> = device.create_cuda_gpu()
 <span class="hljs-attr">sg_ir</span> = sonnx.prepare(onnx_model, <span class="hljs-attr">device=dev)</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="inferernce-singa-model"></a><a href="#inferernce-singa-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>After you load and prepare a SINGA model, you can do the inference by calling
-<code>sg_ir.run</code> as the following code. The input and output must be SINGA <code>Tensor</code>,
-and since SINGA model returns the output as a list, so if you only have one
-output, you just take the first element from the output as <code>forward</code> of <code>Infer</code>
-class.</p>
-<pre><code class="hljs css language-python3"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Infer</span>:</span>
+<h3><a class="anchor" aria-hidden="true" id="inference-singa-model"></a><a href="#inference-singa-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>Once the model is created, you can do inference by calling <code>sg_ir.run</code>. The
+input and output must be SINGA <code>Tensor</code> instances. Since SINGA model returns the
+output as a list, if there is only one output, you just need to take the first
+element from the output.</p>
+<pre><code class="hljs css language-python3"><span class="hljs-comment"># can warp the following code in prepare()</span>
+<span class="hljs-comment"># and provide a flag training=True/False?</span>
+
+<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Infer</span>:</span>
 
 
     <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(<span class="hljs-keyword">self</span>, sg_ir)</span></span>:
@@ -79,34 +133,40 @@ x = tensor.Tensor(device=dev, data=data)
 model = Infer(sg_ir)
 y = model.forward(x)
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="saving-an-onnx-model-from-singa"></a><a href="#saving-an-onnx-model-from-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>Now, if you have a SINGA model, you can export it as ONNX model as following:</p>
-<pre><code class="hljs css language-python3">sonnx.<span class="hljs-keyword">to</span><span class="hljs-constructor">_onnx([<span class="hljs-params">x</span>], [<span class="hljs-params">y</span>])</span>
+<h3><a class="anchor" aria-hidden="true" id="saving-singa-model-into-onnx-format"></a><a href="#saving-singa-model-into-onnx-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2 [...]
+<p>Given the input tensors and the output tensors generated by the operators the
+model, you can trace back all internal operations. Therefore, a SINGA model is
+defined by the input and outputs tensors. To export a SINGA model into ONNX
+format, you just need to provide the input and output tensor list.</p>
+<pre><code class="hljs css language-python3"># <span class="hljs-symbol">x</span> is the input tensor, <span class="hljs-symbol">y</span> is the output tensor
+sonnx.to_onnx([<span class="hljs-symbol">x</span>], [<span class="hljs-symbol">y</span>])
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="re-training-a-onnx-model"></a><a href="#re-training-a-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>You also can re-training a ONNX model after you load it into SINGA as following
-code. Please node you should set all tensors of the SINGA model to enable them
-to store gradient by <code>tens.requires_grad = True</code> and <code>tens.stores_grad = True</code>.</p>
+<h3><a class="anchor" aria-hidden="true" id="re-training-an-onnx-model"></a><a href="#re-training-an-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
+<p>To train (or refine) an ONNX model using SINGA, you need to set the internal
+tensors to be trainable</p>
 <pre><code class="hljs css language-python3"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Infer</span>:</span>
 
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(<span class="hljs-keyword">self</span>, sg_ir)</span></span>:
-        <span class="hljs-keyword">self</span>.sg_ir = sg_ir
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, sg_ir)</span>:</span>
+        self.sg_ir = sg_ir
+        <span class="hljs-comment">## can wrap these codes in sonnx?</span>
         <span class="hljs-keyword">for</span> idx, tens <span class="hljs-keyword">in</span> sg_ir.tensor_map.items():
             <span class="hljs-comment"># allow the tensors to be updated</span>
-            tens.requires_grad = True
-            tens.stores_grad = True
+            tens.requires_grad = <span class="hljs-literal">True</span>
+            tens.stores_grad = <span class="hljs-literal">True</span>
 
-    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(<span class="hljs-keyword">self</span>, x)</span></span>:
+    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">forward</span><span class="hljs-params">(self, x)</span>:</span>
         <span class="hljs-keyword">return</span> sg_ir.run([x])[<span class="hljs-number">0</span>]
 
-autograd.training = False
+autograd.training = <span class="hljs-literal">False</span>
 model = Infer(sg_ir)
 
+autograd.training = <span class="hljs-literal">True</span>
 <span class="hljs-comment"># then you training the model like normal</span>
+<span class="hljs-comment"># give more details??</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="transfer-learning-a-onnx-model"></a><a href="#transfer-learning-a-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
-<p>You also can append some layers to the end of ONNX model to do transfer-learning
-like following. The <code>last_layers</code> means you cut the ONNX layers from [0,
+<h3><a class="anchor" aria-hidden="true" id="transfer-learning-an-onnx-model"></a><a href="#transfer-learning-an-onnx-model" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
+<p>You also can append some layers to the end of ONNX model to do
+transfer-learning. The <code>last_layers</code> means you cut the ONNX layers from [0,
 last_layers]. Then you can append more layers by the normal SINGA model.</p>
 <pre><code class="hljs css language-python3">class Trans:
 
@@ -132,7 +192,7 @@ model = Trans(sg_ir, <span class="hljs-number">-1</span>)
 
 # <span class="hljs-keyword">then</span> you training the model like normal
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="example-onnx-mnist-on-singa"></a><a href="#example-onnx-mnist-on-singa" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
+<h2><a class="anchor" aria-hidden="true" id="a-full-example"></a><a href="#a-full-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>This part introduces the usage of SINGA ONNX by using the mnist example. In this
 section, the examples of how to export, load, inference, re-training, and
 transfer-learning the minist model are displayed. You can try this part
@@ -692,7 +752,7 @@ of the model and run the SINGA operators one by one following the operators
 queue. The user can use <code>last_layers</code> to decide to run the model till the last
 few layers. Set <code>all_outputs</code> as <code>False</code> to get only the final output, <code>True</code> to
 also get all the intermediate output.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/5/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#general-usage">General usage</a><ul class="toc-headings"><li><a href="#loading-an-onnx-model-into-singa">Loading an ONNX Model into SINGA</a></li><li><a href="#inferernce-singa-model">Inferernce SINGA model</a></li><li><a href="#saving-an-onnx-model-from-singa">Saving an ONNX Model from SI [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/10/2020</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/graph"><span class="arrow-prev">← </span><span>Computational Graph</span></a><a class="docs-next button" href="/docs/dist-train"><span>Distributed Training</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#general-usage">General usage</a><ul class="toc-he [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/optimizer.html b/content/docs/optimizer.html
index 4f1563c..992b058 100644
--- a/content/docs/optimizer.html
+++ b/content/docs/optimizer.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Optimizer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owner [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Optimizer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owner [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/optimizer/index.html b/content/docs/optimizer/index.html
index 4f1563c..992b058 100644
--- a/content/docs/optimizer/index.html
+++ b/content/docs/optimizer/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Optimizer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owner [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Optimizer · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owner [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <h2><a class="anchor" aria-hidden="true" id="python-api"></a><a href="#python-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <h2><a class="anchor" aria-hidden="true" id="cpp-api"></a><a href="#cpp-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#python-api">Python API</a></li><li><a href="#cpp-api">CPP API</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Gu [...]
diff --git a/content/docs/releases/RELEASE_NOTES_0.1.0.html b/content/docs/releases/RELEASE_NOTES_0.1.0.html
index 92c0f59..84a4484 100644
--- a/content/docs/releases/RELEASE_NOTES_0.1.0.html
+++ b/content/docs/releases/RELEASE_NOTES_0.1.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_0.1.0/index.html b/content/docs/releases/RELEASE_NOTES_0.1.0/index.html
index 92c0f59..84a4484 100644
--- a/content/docs/releases/RELEASE_NOTES_0.1.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_0.1.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_0.2.0.html b/content/docs/releases/RELEASE_NOTES_0.2.0.html
index bdc32ab..43993e4 100644
--- a/content/docs/releases/RELEASE_NOTES_0.2.0.html
+++ b/content/docs/releases/RELEASE_NOTES_0.2.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_0.2.0/index.html b/content/docs/releases/RELEASE_NOTES_0.2.0/index.html
index bdc32ab..43993e4 100644
--- a/content/docs/releases/RELEASE_NOTES_0.2.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_0.2.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_0.3.0.html b/content/docs/releases/RELEASE_NOTES_0.3.0.html
index 1babc76..0b160aa 100644
--- a/content/docs/releases/RELEASE_NOTES_0.3.0.html
+++ b/content/docs/releases/RELEASE_NOTES_0.3.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.3.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.3.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_0.3.0/index.html b/content/docs/releases/RELEASE_NOTES_0.3.0/index.html
index 1babc76..0b160aa 100644
--- a/content/docs/releases/RELEASE_NOTES_0.3.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_0.3.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.3.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-0.3.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_1.0.0.html b/content/docs/releases/RELEASE_NOTES_1.0.0.html
index 8c5719f..12367c9 100644
--- a/content/docs/releases/RELEASE_NOTES_1.0.0.html
+++ b/content/docs/releases/RELEASE_NOTES_1.0.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_1.0.0/index.html b/content/docs/releases/RELEASE_NOTES_1.0.0/index.html
index 8c5719f..12367c9 100644
--- a/content/docs/releases/RELEASE_NOTES_1.0.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_1.0.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets. It is designed with an intuitive
 programming model based on the layer abstraction. SINGA supports a wide variety
diff --git a/content/docs/releases/RELEASE_NOTES_1.1.0.html b/content/docs/releases/RELEASE_NOTES_1.1.0.html
index d60ee13..8cf00e8 100644
--- a/content/docs/releases/RELEASE_NOTES_1.1.0.html
+++ b/content/docs/releases/RELEASE_NOTES_1.1.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets.</p>
 <p>This release includes following features:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_1.1.0/index.html b/content/docs/releases/RELEASE_NOTES_1.1.0/index.html
index d60ee13..8cf00e8 100644
--- a/content/docs/releases/RELEASE_NOTES_1.1.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_1.1.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.1.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets.</p>
 <p>This release includes following features:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_1.2.0.html b/content/docs/releases/RELEASE_NOTES_1.2.0.html
index 38b6f5c..1e9bdeb 100644
--- a/content/docs/releases/RELEASE_NOTES_1.2.0.html
+++ b/content/docs/releases/RELEASE_NOTES_1.2.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets.</p>
 <p>This release includes following features:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_1.2.0/index.html b/content/docs/releases/RELEASE_NOTES_1.2.0/index.html
index 38b6f5c..1e9bdeb 100644
--- a/content/docs/releases/RELEASE_NOTES_1.2.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_1.2.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-1.2.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets.</p>
 <p>This release includes following features:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_2.0.0.html b/content/docs/releases/RELEASE_NOTES_2.0.0.html
index c69420f..20f1832 100644
--- a/content/docs/releases/RELEASE_NOTES_2.0.0.html
+++ b/content/docs/releases/RELEASE_NOTES_2.0.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-2.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-2.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets.</p>
 <p>This release includes following features:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_2.0.0/index.html b/content/docs/releases/RELEASE_NOTES_2.0.0/index.html
index c69420f..20f1832 100644
--- a/content/docs/releases/RELEASE_NOTES_2.0.0/index.html
+++ b/content/docs/releases/RELEASE_NOTES_2.0.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-2.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-incubating-2.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional informatio [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>SINGA is a general distributed deep learning platform for training big deep
 learning models over large datasets.</p>
 <p>This release includes following features:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html b/content/docs/releases/RELEASE_NOTES_3.0.0.html
similarity index 51%
copy from content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
copy to content/docs/releases/RELEASE_NOTES_3.0.0.html
index 15c68a3..23aed54 100644
--- a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
+++ b/content/docs/releases/RELEASE_NOTES_3.0.0.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Release Notes - SINGA - Version singa-3.0.0.rc1</p>
 <p>SINGA is a distributed deep learning library.</p>
 <p>This release includes following changes:</p>
@@ -95,7 +95,7 @@ move some inputs to its attributes;</li>
 <li>Define and implement the type conversion map.</li>
 </ul></li>
 </ul>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readth [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readt [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html b/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
index 15c68a3..11792e9 100644
--- a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
+++ b/content/docs/releases/RELEASE_NOTES_3.0.0.rc1.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Release Notes - SINGA - Version singa-3.0.0.rc1</p>
 <p>SINGA is a distributed deep learning library.</p>
 <p>This release includes following changes:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html b/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
index 15c68a3..11792e9 100644
--- a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
+++ b/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Release Notes - SINGA - Version singa-3.0.0.rc1</p>
 <p>SINGA is a distributed deep learning library.</p>
 <p>This release includes following changes:</p>
diff --git a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html b/content/docs/releases/RELEASE_NOTES_3.0.0/index.html
similarity index 51%
copy from content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
copy to content/docs/releases/RELEASE_NOTES_3.0.0/index.html
index 15c68a3..23aed54 100644
--- a/content/docs/releases/RELEASE_NOTES_3.0.0.rc1/index.html
+++ b/content/docs/releases/RELEASE_NOTES_3.0.0/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0.rc1 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>singa-3.0.0 Release Notes · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
 <p>Release Notes - SINGA - Version singa-3.0.0.rc1</p>
 <p>SINGA is a distributed deep learning library.</p>
 <p>This release includes following changes:</p>
@@ -95,7 +95,7 @@ move some inputs to its attributes;</li>
 <li>Define and implement the type conversion map.</li>
 </ul></li>
 </ul>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/9/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readth [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/19/2020</em></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/en/https://apache-singa.readt [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/docs/security.html b/content/docs/security.html
index 1f431fb..76767cc 100644
--- a/content/docs/security.html
+++ b/content/docs/security.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Security · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Security · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/security/index.html b/content/docs/security/index.html
index 1f431fb..76767cc 100644
--- a/content/docs/security/index.html
+++ b/content/docs/security/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Security · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Security · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright owners [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/software-stack.html b/content/docs/software-stack.html
index b61f89d..88c1075 100644
--- a/content/docs/software-stack.html
+++ b/content/docs/software-stack.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Software Stack · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Software Stack · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/software-stack/index.html b/content/docs/software-stack/index.html
index b61f89d..88c1075 100644
--- a/content/docs/software-stack/index.html
+++ b/content/docs/software-stack/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Software Stack · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Software Stack · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/source-repository.html b/content/docs/source-repository.html
index bd6b3c8..d01ebce 100644
--- a/content/docs/source-repository.html
+++ b/content/docs/source-repository.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Source Repository · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrig [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Source Repository · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrig [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/source-repository/index.html b/content/docs/source-repository/index.html
index bd6b3c8..d01ebce 100644
--- a/content/docs/source-repository/index.html
+++ b/content/docs/source-repository/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Source Repository · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrig [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Source Repository · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyrig [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/team-list.html b/content/docs/team-list.html
index 157e8d0..14b46f6 100644
--- a/content/docs/team-list.html
+++ b/content/docs/team-list.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The SINGA Team · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The SINGA Team · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/team-list/index.html b/content/docs/team-list/index.html
index 157e8d0..14b46f6 100644
--- a/content/docs/team-list/index.html
+++ b/content/docs/team-list/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The SINGA Team · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The SINGA Team · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright  [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/tensor.html b/content/docs/tensor.html
index 698ac9a..970858e 100644
--- a/content/docs/tensor.html
+++ b/content/docs/tensor.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tensor · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tensor · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/tensor/index.html b/content/docs/tensor/index.html
index 698ac9a..970858e 100644
--- a/content/docs/tensor/index.html
+++ b/content/docs/tensor/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tensor · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tensor · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownershi [...]
         document.addEventListener('DOMContentLoaded', function() {
           addBackToTop(
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-in [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-intern [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/en/404.html b/content/en/404.html
index b6b42e5..b3c95ae 100644
--- a/content/en/404.html
+++ b/content/en/404.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/en/404/index.html b/content/en/404/index.html
index b6b42e5..b3c95ae 100644
--- a/content/en/404/index.html
+++ b/content/en/404/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/en/help.html b/content/en/help.html
index 30d45b8..0b1a235 100644
--- a/content/en/help.html
+++ b/content/en/help.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
 </span></div></h2><div><span><p>Learn more using the <a href="/docs/en/doc1.html">documentation on this site.</a></p>
 </span></div></div></div><div class="blockElement threeByGridBlock"><div class="blockContent"><h2><div><span><p>Join the community</p>
 </span></div></h2><div><span><p>Ask questions about the documentation and project</p>
diff --git a/content/en/help/index.html b/content/en/help/index.html
index 30d45b8..0b1a235 100644
--- a/content/en/help/index.html
+++ b/content/en/help/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
 </span></div></h2><div><span><p>Learn more using the <a href="/docs/en/doc1.html">documentation on this site.</a></p>
 </span></div></div></div><div class="blockElement threeByGridBlock"><div class="blockContent"><h2><div><span><p>Join the community</p>
 </span></div></h2><div><span><p>Ask questions about the documentation and project</p>
diff --git a/content/en/index.html b/content/en/index.html
index 69be014..a683ca4 100644
--- a/content/en/index.html
+++ b/content/en/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
 </span></div></h2><div><span><p>SINGA <a href="./docs/dist-train">parallelizes the training and optimizes the communication cost</a> to improve training scalability.</p>
 </span></div></div></div></div></div></div><div class="container mainPageContainer lightBackground paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignRight twoByGridBlock"><div class="blockContent"><h2><div><span><p>Efficiency</p>
 </span></div></h2><div><span><p>SINGA <a href="./docs/graph">builds a computational graph</a> to optimizes the training speed and memory footprint.</p>
diff --git a/content/en/users.html b/content/en/users.html
index 955d81b..41e0c27 100644
--- a/content/en/users.html
+++ b/content/en/users.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/en/users/index.html b/content/en/users/index.html
index 955d81b..41e0c27 100644
--- a/content/en/users/index.html
+++ b/content/en/users/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/en/versions.html b/content/en/versions.html
index bb1b6d1..dbe430f 100644
--- a/content/en/versions.html
+++ b/content/en/versions.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/en/versions/index.html b/content/en/versions/index.html
index bb1b6d1..dbe430f 100644
--- a/content/en/versions/index.html
+++ b/content/en/versions/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/help.html b/content/help.html
index 7585ef7..2189f94 100644
--- a/content/help.html
+++ b/content/help.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
 </span></div></h2><div><span><p>Learn more using the <a href="/docs/doc1.html">documentation on this site.</a></p>
 </span></div></div></div><div class="blockElement threeByGridBlock"><div class="blockContent"><h2><div><span><p>Join the community</p>
 </span></div></h2><div><span><p>Ask questions about the documentation and project</p>
diff --git a/content/help/index.html b/content/help/index.html
index 7585ef7..2189f94 100644
--- a/content/help/index.html
+++ b/content/help/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
 </span></div></h2><div><span><p>Learn more using the <a href="/docs/doc1.html">documentation on this site.</a></p>
 </span></div></div></div><div class="blockElement threeByGridBlock"><div class="blockContent"><h2><div><span><p>Join the community</p>
 </span></div></h2><div><span><p>Ask questions about the documentation and project</p>
diff --git a/content/index.html b/content/index.html
index bd8fba1..dd0b573 100644
--- a/content/index.html
+++ b/content/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
 </span></div></h2><div><span><p>SINGA <a href="./docs/dist-train">parallelizes the training and optimizes the communication cost</a> to improve training scalability.</p>
 </span></div></div></div></div></div></div><div class="container mainPageContainer lightBackground paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignRight twoByGridBlock"><div class="blockContent"><h2><div><span><p>Efficiency</p>
 </span></div></h2><div><span><p>SINGA <a href="./docs/graph">builds a computational graph</a> to optimizes the training speed and memory footprint.</p>
diff --git a/content/sitemap.xml b/content/sitemap.xml
index cfb0cbd..6216145 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://feynmandna.github.io/404</loc><changefreq>weekly</changefreq><priority>0.5</priority> [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://feynmandna.github.io/404</loc><changefreq>weekly</changefreq><priority>0.5</priority> [...]
\ No newline at end of file
diff --git a/content/users.html b/content/users.html
index c03973c..93f7d3e 100644
--- a/content/users.html
+++ b/content/users.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/users/index.html b/content/users/index.html
index c03973c..93f7d3e 100644
--- a/content/users/index.html
+++ b/content/users/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/versions.html b/content/versions.html
index 23da6e3..3aecfa0 100644
--- a/content/versions.html
+++ b/content/versions.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The
diff --git a/content/versions/index.html b/content/versions/index.html
index 23da6e3..3aecfa0 100644
--- a/content/versions/index.html
+++ b/content/versions/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/insta [...]
+        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installat [...]
    The Apache Software Foundation. All rights reserved.
    Apache SINGA, Apache, the Apache feather logo, and
    the Apache SINGA project logos are trademarks of The